CIRCLE LAUNCH APP →
FOLIO I · V0 · THE SPEC

THE CIRCLE WHITEPAPER

Synthetic index exposure built on options, settled by slow oracles, rebalanced by users at their own pace. The math cannot run insolvent.

INSPIRED BY VITALIK BUTERIN, JUNE 2026 DRAFTED ON ETHEREUM MAINNET

ABSTRACT

Circle is a protocol for issuing synthetic exposure to arbitrary price indices on Ethereum without using debt, collateralised debt positions, or real-time oracles. Instead of holding a borrower against a margin call, users hold long-dated options that pay out a smooth fraction of a sealed ETH collateral pool at maturity. The protocol can never become insolvent. There is no mechanism that liquidates a user. Settlement uses a slow oracle that anyone can propose to, and anyone can challenge, with multi-day finality windows. The cost of this design is that a position's effective exposure drifts away from the target over time — a drift this paper argues is acceptable in exchange for an order-of-magnitude reduction in oracle-attack and MEV surface.

I.MOTIVATION

Almost every existing system for getting synthetic price exposure on Ethereum — algorithmic stablecoins, perp clearinghouses, money-market borrowing — has the same structural flaw. They commit, on every block, to acting on the latest oracle price as if it were correct in real time. Liquidation thresholds are checked block-by-block. Funding payments are settled block-by-block. The protocol places a multi-billion dollar bet that the oracle is not lying in any one minute window.

Designs that depend on a real-time oracle inherit a property nobody can fix. They give the oracle hundreds of millions of dollars worth of single-block writing privileges, with no human recourse. They cannot use the strongest known technique for oracle hardening, which is to commit-and-reveal on top of a slower, more expensive truth layer. They concentrate value at the boundary of "oracle to liquidation engine", which captures as MEV, not as user welfare.

Circle rejects this design by changing what gets oracled. We never oracle "what is the current price". We only oracle "what was the price at this scheduled future moment". The latter is a query a prediction market can answer.

II.THE P / N PRIMITIVE

A series is the basic on-chain object. A series is identified by three parameters:

  • ticker — the index being tracked (USD-per-ETH, CPI-per-ETH, ARS-per-ETH, …)
  • S — a strike price denominated in the same units the oracle reports
  • M — the maturity timestamp

Each series mints two tokens, P[T,S,M] and N[T,S,M]. They are fully fungible per series and are exchanged independently. Any holder of 1 ETH can call mintPair at any moment before M and receive 1 P and 1 N of that series. Any holder of 1 P and 1 N can call combinePair at any moment before M and receive 1 ETH back.

At M, the oracle resolves the price x. The contract permanently freezes the series at x. Holders of P and N may now claim ETH from the sealed collateral pool according to a fixed payoff function:

III.PAYOFF MATH

For a series with strike S that resolves at x:

SIDECONDITIONPAYOUT PER TOKEN
Px ≤ S1 ETH
Px > SS / x ETH
Nx ≤ S0 ETH
Nx > S(x − S) / x ETH
payoutP(S, x) = min(1, S / x) payoutN(S, x) = max(0, 1 − S / x) payoutP(S, x) + payoutN(S, x) = 1 ∀ x ≥ 0

Three invariants hold by construction:

  • Conservation. For all x, the payouts sum: P(x) + N(x) = 1 ETH. The protocol pays out exactly the collateral it sealed.
  • Bounded long. P can never pay out more than 1 ETH. It is structurally incapable of going under-collateralised.
  • Bounded short. N can never pay out less than 0 ETH. It is structurally incapable of being more than fully wiped out.

There is no point in the parameter space where the protocol must liquidate anybody. There is no point where one side is paid out of someone else's wallet. The settlement is purely a redistribution of the collateral that was already locked at mint time.

IV.TRACKING AN INDEX

Suppose you want to hold roughly 1 unit of USD value, denominated in ETH, while ETH itself is at $2,500. You want stable spending power, not stable ETH count.

Buy a deep-in-the-money P with strike S = $1,500. As long as ETH at maturity is anywhere above $1,500, your P pays out S/x = 1500/x ETH, which by construction equals exactly $1,500 worth of ETH at maturity. You're holding 0.6 ETH today, you expect 1,500 USD-equivalent at maturity. That is dollar-stable exposure, achieved without an oracle saying anything in real time, achieved without anyone being liquidated, achieved without a CDP.

The risk: if ETH falls below $1,500 by maturity, your payout caps at 1 ETH, which is now worth less than $1,500. This is the only way to lose target. The standard deviation of this kind of drift, for a position rolled actively into in-the-money strikes, is in the range of 1–4% annualised. That is the price of removing liquidations.

V.ORACLE DESIGN

Settlement uses a propose-and-challenge oracle with strict on-chain accounting and multi-day finality. The lifecycle for a single series:

  1. At or after M, anyone with a bond can submit a proposed value x_propose.
  2. A challenge window opens (default 24 hours, parameterisable per oracle).
  3. Any other bonded actor may submit a counter-claim x_counter.
  4. If unchallenged, the proposal finalises and the proposer reclaims their bond.
  5. If challenged, the guardian resolves to one side. The winner takes both bonds. The series finalises at the resolved value.
  6. If irrecoverably ambiguous, the guardian can cancel; bonds are refunded; the series remains unsettled until a new proposal arrives.

Every step is on-chain, every step has explicit gas paid by the actor, no step gives a single party the power to write a price unilaterally. The guardian role is intended to be replaceable by a DAO vote, by UMA-style optimistic disputes, or by a third-party prediction market.

VI.REBALANCING

A user who wants long-running stable exposure does not hold a single position forever. They hold an in-the-money P at some strike, and as the price moves they rotate into a different strike to keep the position deeply in the money.

This is the actual cost of Circle: rebalancing costs slippage. The protocol minimises this in two ways. First, the AMM is built around the observation that users rebalancing into stable exposure do not care whether they execute today or tomorrow. Their time preference is near zero. This allows the AMM to operate close to one-sided market making, where market makers do not have to instantly cover any incoming order.

Second, the protocol does not force a clock on the user. There is no liquidation queue. There is no margin call. A user who decides their drift is acceptable for the next week can wait a week. A user who wants to take the trade now can take it now. The decision lives with the holder, not with the protocol.

VII.AMM

The Circle AMM is a per-series constant-product pool with three reserves: ETH, P, and N. LPs deposit all three in equal value. Swaps charge a configurable bps fee, which is split between LPs and the protocol fee sink.

A minimum-hold parameter prevents flash-loaned LP toxicity. Withdrawals respect the same minimum hold. Each new pool is seeded with a sqrt-weighted share basis to prevent first-LP dust attacks.

This is not the final design. The intent of v0 is to provide a price-discovery mechanism for P and N that can be improved incrementally. Future versions may move to a one-sided market making structure that better matches the low-time-preference of rebalancers.

VIII.$CIRCLE

$CIRCLE is the protocol's coordination token. Fixed supply of 100,000,000. There is no team allocation, no insider round, no airdrop, and no strategic sale. The distribution at deploy is two lines:

ALLOCATION%NOTES
Initial liquidity (LP)90.00%90,000,000 $CIRCLE seeded into a $CIRCLE/ETH Uniswap V2 pool at deploy. Anyone can earn from day one by buying, providing liquidity, or participating in the secondary market.
Deployer reserve10.00%10,000,000 $CIRCLE held by the deployer wallet. Used for partnerships, incentives, market-bootstrap and contingency. No vesting cliff, no insider distribution, no automatic emissions schedule — every move is a public transfer from the deployer EOA.

$CIRCLE captures value through two channels. First, the token itself is taxed on AMM trades — a 3% buy and 3% sell tax — and the tax is auto-swapped to ETH and forwarded to the protocol treasury wallet. Second, holders may vote on series listings, fee changes, and treasury spend; future versions can introduce vote-escrow if governance density warrants it.

Because nobody is sitting on a vesting cliff or a strategic discount, the token's downside pressure is structurally lower than typical launches. The price discovery is governed entirely by the secondary market.

IX.FEES

Three fees apply on Circle's synthetic-asset surface, and one applies on $CIRCLE itself. All four route 100% to the protocol treasury wallet (an owner-controlled address; intended to be a multisig).

WHERERATECHARGED ON
Mint0.25%Every ETH deposit that mints a P/N pair
Settle / claim0.35%Every ETH payout when a holder claims after maturity
AMM swap0.50%Every ETH↔P or ETH↔N trade
$CIRCLE buy3.00%Buy on $CIRCLE/ETH Uniswap V2 pair (auto-swapped to ETH, sent to treasury)
$CIRCLE sell3.00%Sell on $CIRCLE/ETH Uniswap V2 pair (auto-swapped to ETH, sent to treasury)

Fee caps: protocol fees on the synthetic-asset side are capped at 3.00% (governance vote); $CIRCLE buy/sell tax is capped at 10.00% (immutable). Owners may lower fees but never raise them past these constants.

X.PARAMETERS AT GENESIS

PARAMETERVALUETUNABLE BY
Mint fee0.25% of ETH mintedgovernance, max 3%
Settle fee0.35% of ETH redeemedgovernance, max 3%
AMM swap fee0.50%, 100% to treasurygovernance, max 3%
$CIRCLE buy tax3.00%governance, max 5%
$CIRCLE sell tax3.00%governance, max 5%
Auto-swap threshold5,000 $CIRCLEgovernance
Auto-swap batch cap100,000 $CIRCLEgovernance
LP min-hold6 hoursgovernance
Oracle challenge window24 hours defaultper-oracle config
Proposal bond0.05 ETHgovernance
Challenge bond0.10 ETHgovernance