Skip to content

Market-making options ​

This page is for a market maker deciding what to quote and how wide: a person, or the agent running maker for them. It covers what you earn, what you carry, how Runner's options differ from listed ones, and a way to start that keeps the first mistakes small. The mechanics are in The book and the curve and Collateral and the writer pool; setting maker up is Run a market-making bot.

What you are paid for ​

A writer sells an option for its premium, paid up front when the order fills. The premium has two parts:

  • Fair value: what the option is worth on average, given how much the token moves. Collecting fair value is not a profit. It pays for the losses the option will cause you when the token moves against you.
  • Edge: whatever you charge above fair value. That is the spread, and over many fills it is the part you keep.

So a market maker's whole job is to estimate fair value well, charge a spread above it that takers will still pay, and survive the fills where the token moves further than fair value allowed for.

Fair value on Runner ​

Runner's main product is the AmPO: no expiry, and a quantity that halves every half-life. Its value depends on the token's volatility, the strike against spot, and the half-life. There is no expiry date in the formula, because there is none.

maker prices each strike with a closed form for an amortizing perpetual claim, at the volatility the Runner API serves for the token: measured over its whole tape and over trailing windows, and read at the window nearest the series' expected life. Away from the money it follows a smile (maker.yaml's pricing: block). A token the API serves no volatility for yet, under an hour of tape, gets no fair value, and maker paints nothing on it.

The engine refuses any quote whose mid is further than pricing.max_deviation_bps from its own fair value, whatever strategy produced it.

What each side leaves you holding ​

Every option on Runner is fully backed. A writer cannot be liquidated and never owes more than the collateral already locked. What changes is what you end up holding.

You writeBacked byYou keep the premium, and if exercisedYour view
Cash-secured putUSDC, the strikeyou pay the strike and receive the tokenHappy to own the token at the strike
Covered callThe tokenyou deliver the token and receive the strikeHappy to sell the token at the strike

Assignment is physical. A put writer who is assigned receives the token itself, not cash, and holds whatever that token is worth afterwards. On a token that has just fallen hard, that can be much less than the strike.

You can be assigned at any time, by the same fraction as every other writer in the series (see Assignment and payouts).

The risks you carry, in plain words ​

  • Direction. A short put gains when the token rises and loses when it falls. A short call is the reverse. A covered call plus the token you hold is still long the token, with the upside capped at the strike.
  • Big moves. A written option loses most on a large move toward it, and on a memecoin those come in jumps, not steps. A spread that looks generous in a calm hour pays for nothing in a gap.
  • Volatility. If the token starts moving more than the served volatility says, everything you have written is worth more to its holders than you were paid. The figure follows the tape, behind it.
  • Informed takers. The fills you get are not random. A taker who buys your call just before a pump knew something, or was faster. If your fills cluster just before moves against you, your spread is too narrow or your quotes are too slow.
  • Stale quotes. Painted quotes stay on the book until replaced or pulled. Curves have no expiry. If the engine or its computer stops, the last quotes stand at their last prices. This is why maker pulls on exit and the watchdog pulls a stale engine.
  • The token itself. A put writer can end up holding a token whose liquidity has gone. Writing on a token is a decision to be willing to own it.

How decay works for a writer ​

On an AmPO, your obligation shrinks at the same rate as the holder's option: by half every half-life. The collateral behind the part that has decayed is released back to you. So a short position winds itself down without any action, and a long half-life ties collateral up for longer than a short one. Released collateral reaches your available balance when the position is brought current; until then it cannot back new quotes.

Spread, size and inventory ​

LeverPolicy fieldWider or larger means
Spreadpricing.spread_bpsFewer fills, more kept per fill, more room for a wrong estimate.
Size per levelsize.per_level_usdcMore premium per fill, more loss per bad fill.
Levelssize.levels, size.level_step_bpsSize further from the mid, priced worse for the taker.
Strikesstrikes.max_per_market, strikes.moneyness_*More of the curve quoted; far strikes pay little and fill rarely.
Per-series capinventory.max_short_per_series_usdcHow much one strike can pile up before it is pulled.
Net delta capinventory.max_net_delta_usdcHow directional the whole book may get on one token.
Skewpricing.skew_bps_at_cap (builtin:skew)As inventory builds, the mid moves against it, so the next fill is more likely to reduce it.
Requote pacecadence.requote_interval_ms, cadence.min_move_bpsFaster follows spot more closely and sends more transactions.
Loss haltrisk.max_loss_usdc, risk.max_loss_windowThe loss that pulls everything and waits for a person.

The collateral caps (collateral.max_usdc, collateral.max_base_usdc) bound everything above: the engine never deposits or quotes against more than they allow, whatever the wallet holds.

A way to start ​

  1. One token, puts only, the conservative preset. Cash-secured puts need only USDC, and the wide spread leaves room for a volatility that moves after you wrote. maker setup recommends this.
  2. A budget you would accept owning the token with. If every put is assigned at once, the budget becomes the token.
  3. Rehearse first. maker run --dry-run runs the whole loop against live data and sends nothing. Read what it would paint.
  4. Watch a week of fills before changing anything. maker fills and maker pnl show what traded and what it made. Separate the premium received from what assignments cost.
  5. Then adjust one lever at a time. Fills that come just before moves against you: widen, or requote faster. No fills at all: narrow a little, or quote nearer the money. Inventory piling up on one side: move to builtin:skew.
  6. Add calls when you hold the token and want to sell it higher, and bids only once you are ready to manage inventory both ways (the tight preset).

Reading the results ​

maker pnl reports realised and unrealised P&L, premium received and paid, and fees. Over a long enough run, edge is premium received minus what the written options cost you, minus fees.

A month of small, steady gains followed by one large loss is what writing options looks like when the spread is too narrow for the token's jumps. The loss halt exists to cap that one day.

The risks of writing, in short form, are in Risks.