No margin · No liquidations

The options venue with
no liquidation price.

Every contract is backed by collateral before it exists, so there is nothing to liquidate: no margin call, no forced close, and no price feed to manipulate.

Writers escrow the asset and set their own premium. Buyers pay it for the right, not the obligation, to buy at that strike before it expires. Covered calls, settled in the asset itself.

  • Physical settlement
  • Collateral escrowed before listing
  • No margin
  • No oracle

Backed by Lightspeed, Blockwall and angels · $500K

Desk · XAU / USDCSample · expires 18 Dec 2026
Strike
$4,700.00
Premium
$61.00
Unsold
3
Sold
897 / 900
StrikeAvailabilityUnsold
$4,900.00Sold out
$4,850.0028 left
$4,800.0065 left
$4,750.0022 left
$4,700.003 left
$4,650.00188 left
$4,600.00267 left

Field 01

A strike holds only what writers have backed.

One tradeable line in Anvil is a series: an underlying, the token the strike is paid in, a strike, and an expiry. That quadruple is the atomic unit. Every contract offered on it is already covered by underlying sitting in escrow.

available = listed − sold

listed rises when a writer escrows and offers, and falls when they pull an unsold offer. sold only ever rises. So “3 available” means 3 contracts are genuinely backed by underlying in escrow right now.

An order book

Depth at a price is whatever the market happens to bring. Scarcity is emergent, temporary, and it disappears the moment someone posts a bigger order.

A shelf

Every price level holds the contracts writers have collateralized there and no more. When the unsold contracts at $4,700.00 are gone, the next buyer takes $4,750.00 or waits for another writer to escrow more. Scarcity here is real collateral, not inferred from liquidity.

Anatomy of a series

Underlying

the asset the writer escrows

XAU
Quote

what the buyer pays to exercise

USDC
Strike

snaps to the $50.00 tick for this asset

$4,700.00
Expiry

after this the series stops trading

18 Dec 2026
Contract size

underlying delivered per contract

1 XAU

seriesId = keccak256(underlying, quote, strike, expiry)

Listed900
Sold897
Available3

At zero the strike is sold out. Nothing can sell contract 901 until a writer escrows the underlying for it.

Field 02

Buy down the ladder until the shelf is bare.

Each row is one series and one premium. Availability is the number of contracts writers have escrowed and not yet sold; buying takes one off the shelf. Buy a row down to zero and it sells out for real: nothing refills it, and the desk routes you to the nearest strike that still has stock, exactly as the contract would.

XAU / USDC / 18 Dec 202610 of 11 strikes live

Sample offers, held in browser state. Nothing here touches a chain.

Protocol response

Idle. Pick a strike on the ladder to buy a contract from a writer.

Contracts held

0

Premium paid

$0.00

Your options

Nothing held yet. Buying gives you the right to pay the strike and take the underlying before expiry, never an obligation to. The writer’s side is not a token; it stays in escrow as collateral.

The writer’s side

Sold contracts never come back. The only thing that refills a strike is another writer escrowing the underlying and listing it.

Field 03

Metals, equities, crypto,
each sized to its volatility.

An option is only worth writing if someone will pay for it, and what they pay tracks volatility. A tokenized treasury bill is the safest thing to write and almost the least useful: at roughly half a percent of volatility its premium rounds to nothing. Gold and a large-cap equity carry real premium with a tail that behaves nothing like a token.

So the ladder opens on the quiet end. Position limits are set so the worst plausible loss on a single series costs about the same share of the treasury whichever asset it is: a more volatile name is not banned, it is sized down until it hurts the same.

Commodities

3 listed
  • XAU$4,500Ref

    Gold

    Contract
    1 oz
    Volatility
    15%
    Tier 1
    Largest position limits
  • XAG$67.00Ref

    Silver

    Contract
    10 oz
    Volatility
    26%
    Tier 1
    Largest position limits
  • WTI$86.00Ref

    Crude oil

    Contract
    10 bbl
    Volatility
    35%
    Tier 2
    Mid limits, shorter tenors

Equities

8 listed
  • AAPL$315.00Ref

    Apple

    Contract
    1 share
    Volatility
    26%
    Tier 1
    Largest position limits
  • MSFT$505.00Ref

    Microsoft

    Contract
    1 share
    Volatility
    24%
    Tier 1
    Largest position limits
  • NVDA$220.00Ref

    Nvidia

    Contract
    1 share
    Volatility
    45%
    Tier 2
    Mid limits, shorter tenors
  • META$570.00Ref

    Meta

    Contract
    1 share
    Volatility
    35%
    Tier 2
    Mid limits, shorter tenors
  • AMD$470.00Ref

    AMD

    Contract
    1 share
    Volatility
    50%
    Tier 2
    Mid limits, shorter tenors
  • MU$960.00Ref

    Micron

    Contract
    1 share
    Volatility
    45%
    Tier 2
    Mid limits, shorter tenors
  • SNDK$1,570Ref

    SanDisk

    Contract
    1 share
    Volatility
    50%
    Tier 2
    Mid limits, shorter tenors
  • TSLA$370.00Ref

    Tesla

    Contract
    1 share
    Volatility
    55%
    Tier 2
    Mid limits, shorter tenors

Crypto

3 listed
  • BTC$79,000Ref

    Bitcoin

    Contract
    0.1 BTC
    Volatility
    55%
    Tier 3
    Tightest limits
  • ETH$2,480Ref

    Ethereum

    Contract
    1 ETH
    Volatility
    70%
    Tier 3
    Tightest limits
  • SOL$104.00Ref

    Solana

    Contract
    1 SOL
    Volatility
    100%
    Tier 3
    Tightest limits

Reference prices, shown until the live feed answers.

Open the terminal

Field 04

One option, start to finish.

Six steps run in a fixed order. The first one is the gate: collateral moves before an offer exists, which is why nothing later in the sequence can default.

  1. 01 List

    OfferBook / WriterEscrow

    A writer escrows the underlying, names their own premium, and lists an offer. Collateral moves before the offer exists, so nothing on the shelf is ever unbacked.

  2. 02 Buy

    OfferBook

    A buyer takes an offer and pays the premium. It goes straight from buyer to writer, minus the protocol fee. Anvil never holds premium.

  3. 03 Hold

    OptionToken

    Options are ERC-1155 and freely transferable. Transferring one moves the right to exercise and no obligation, because the holder never had one.

  4. 04 Exercise

    ExerciseEngine

    Before expiry the holder pays strike times quantity and receives the underlying. Their option tokens burn. No oracle is involved.

  5. 05 Expire

    Anyone

    After expiry the series stops trading. Anyone may flip its status, so writers never need a keeper to get paid.

  6. 06 Settle

    WriterEscrow

    Each writer collects their pro-rata assignment: quote for the contracts assigned to them, underlying back for the rest.

Assignment is pro-rata, and computed at settlement.

assigned = theirSold × seriesExercised / seriesSold

When a holder exercises, Anvil does not decide whose collateral was taken. The swap happens at the series level: underlying leaves the pool, quote enters it. Only after expiry does each writer compute their share, and then collect that many contracts’ worth of quote plus everything else back as underlying, including anything they wrote but never sold.

The reason is gas. Exercise costs the same regardless of how many writers back a strike. Walking a writer list on every exercise would get more expensive the more popular a series became, which is exactly backwards. Rounding is down, so the sum of assignments can fall a few units short; that dust stays in the pool and can never leave a writer unpaid.

Field 05

Eight contracts, one direction of travel.

AnvilCore is the only address anyone calls. It holds no balances, enforces the pause, and passes caller identity down: every module is guarded by onlyCore, and no entry point lets a caller name a different beneficiary. Everything below core is reached downward, never upward.

Two further contracts, a depositor-funded vault and its risk limits, sit outside this graph. They write through core like any other participant, so the venue neither knows nor cares that they exist.

The iron edge is OfferBook moving collateral into WriterEscrow before an offer exists. Everything else in the design rests on that ordering. Modules never call up into AnvilCore, and shared types, errors and math never import a module, so the graph stays acyclic and every contract is independently testable. Every box is a deployed, verified contract: click one to open its address on the chain explorer. All of it is fully open source; the explorer’s verified bytecode matches the published repositories, because a venue holding collateral has no business being a black box.

Entry point

AnvilCore

The orchestrator and the only address anyone calls. Holds no balances, enforces the pause, and establishes caller identity; every module is guarded by onlyCore.

Routed by core

SeriesFactory

Defines the terms. Admin lists an underlying, fixing its quote token, contract size and strike tick; after that anyone may open a strike, because an empty series holds no collateral and obliges nobody.

OfferBook

Where writers list and buyers take. Escrows collateral before creating an offer, then routes premium from buyer to writer directly, minus the fee.

ExerciseEngine

Exercise before expiry, settle after it. The holder pays the strike and takes the underlying, which is the reason Anvil has no oracle.

InventoryManager

The shelf. Tracks listed and sold per series and owns the sorted strike ladder used to route a buyer past a sold-out strike. The only contract permitted to move those numbers.

Custody and settlement

WriterEscrow

Custody for all writer collateral, and the pro-rata settlement after expiry. Tracks per-token obligations so solvency is checkable: held balance should always cover what is owed.

Tokens and fees

OptionToken

ERC-1155, one id per series. Only one side is tokenized: the writer's obligation lives in escrow as collateral, not as a token, so there is no short token and no id encoding to get wrong.

FeeController

One fee, charged once, on the premium. Capped by an immutable constant so governance can lower it but never raise it past the ceiling. Never takes custody.

A ninth folder, shared/, holds types, errors, math, the auth base and safe ERC-20 transfers. It is not deployed and it never imports a module.

Field 06

What Anvil
deliberately does not do.

Most of this design is a list of refusals. Each one deletes a subsystem, and every deleted subsystem takes a class of failure with it. These are not features waiting to be added later.

  • Pricing engineno such contract
  • Settlement oracleno such contract
  • Protocol vaultno such contract
  • Liquidation engineno such contract

No pricing

Writers name their own premiums. Anvil never quotes, so it has no volatility surface to maintain and no model risk, and it cannot be arbitraged through mispricing. A writer who prices badly is the one who finds out.

Removes the pricing engine, and with it every argument about whose model is right.

No oracle

Settlement is physical: the holder pays the strike and receives the underlying. Nobody rational does that unless the option is in the money, so the holder's own decision carries exactly the information a price feed would have supplied.

Removes the settlement price, the staleness window, the dispute period and the guardian veto, which together are the biggest attack surface an options protocol normally has.

No protocol counterparty

Anvil does not write options, does not run a vault, and does not take the other side. Its only revenue is a cut of each premium, so it earns whether the market goes up, down, or nowhere.

Removes any path by which the protocol itself can lose money on a trade. A protocol-owned writer vault would be short volatility: a different product, explicitly out of scope.

No liquidations

Every option is fully collateralized before it is listed. There is no leverage on the writer's side, and the buyer's only outlay is the premium they already paid.

Removes the liquidation engine entirely, because there is nothing to liquidate and nothing that can default.

What is left is a venue. Writers bring collateral and a price, buyers bring premium, and Anvil takes a capped cut of that premium for making the exchange safe. It earns whether the market goes up, down or nowhere, and it never takes the other side of anything.

Field 07

The whole desk,
in your pocket.

In development

Options expire. A strike sells out while you are away from a desk, and an in-the-money contract left unexercised pays nothing. Both are problems a phone solves better than a browser tab.

  • Expiry reminders

    Physical settlement means nobody exercises on your behalf. The app watches your positions and tells you before the window closes.

  • Availability alerts

    Tell it the strike you want. It pings you when a writer backs it, or routes you to the nearest rung that has room.

  • The whole desk

    The same chain, the same tenors, the same on-chain fills as the terminal, sized for a thumb instead of a cursor.

Coming soon on theApp StoreComing soon on theGoogle Play

Nothing to download yet. When there is, it will be announced here and on X first.

Concept render. Sample data.