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.
¶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 reportsM— 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:
| SIDE | CONDITION | PAYOUT PER TOKEN |
|---|---|---|
| P | x ≤ S | 1 ETH |
| P | x > S | S / x ETH |
| N | x ≤ S | 0 ETH |
| N | x > S | (x − S) / x ETH |
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.
Pcan never pay out more than 1 ETH. It is structurally incapable of going under-collateralised. - Bounded short.
Ncan 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:
- At or after
M, anyone with a bond can submit a proposed valuex_propose. - A challenge window opens (default 24 hours, parameterisable per oracle).
- Any other bonded actor may submit a counter-claim
x_counter. - If unchallenged, the proposal finalises and the proposer reclaims their bond.
- If challenged, the guardian resolves to one side. The winner takes both bonds. The series finalises at the resolved value.
- 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 reserve | 10.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).
| WHERE | RATE | CHARGED ON |
|---|---|---|
| Mint | 0.25% | Every ETH deposit that mints a P/N pair |
| Settle / claim | 0.35% | Every ETH payout when a holder claims after maturity |
| AMM swap | 0.50% | Every ETH↔P or ETH↔N trade |
| $CIRCLE buy | 3.00% | Buy on $CIRCLE/ETH Uniswap V2 pair (auto-swapped to ETH, sent to treasury) |
| $CIRCLE sell | 3.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
| PARAMETER | VALUE | TUNABLE BY |
|---|---|---|
| Mint fee | 0.25% of ETH minted | governance, max 3% |
| Settle fee | 0.35% of ETH redeemed | governance, max 3% |
| AMM swap fee | 0.50%, 100% to treasury | governance, max 3% |
| $CIRCLE buy tax | 3.00% | governance, max 5% |
| $CIRCLE sell tax | 3.00% | governance, max 5% |
| Auto-swap threshold | 5,000 $CIRCLE | governance |
| Auto-swap batch cap | 100,000 $CIRCLE | governance |
| LP min-hold | 6 hours | governance |
| Oracle challenge window | 24 hours default | per-oracle config |
| Proposal bond | 0.05 ETH | governance |
| Challenge bond | 0.10 ETH | governance |