OpenProp

OpenProp: The prop AMM with an open quoting seat

199.981.0199.962.0199.924.0199.848.0199.7616200.021.0200.042.0200.084.0200.168.0200.2416200.00

Slot 0Quote 0

For quoters without a venue: post a USDC bond, stream a five-level ladder on your own book, and draw LP inventory up to 15× your bond as your record grows.

Five checks before any level fills

swap_exact_in runs all five before any level fills. Fail one and nothing trades.

  1. Fresh quote

    A quote older than 2 slots fills nothing. Age is counted in slots, never in wall-clock time.

    Quote 3 slots old: the swap does not fill
  2. Inside band

    The mid has to sit inside the band around the reference price — the midpoint of Pyth Pro and Switchboard Surge.

    Mid outside the band: the swap does not fill
  3. Skew limit

    A fill that would push the book's inventory skew past its limit stops partway; the rest of the swap goes unfilled.

    Skew limit reached: filled partway
  4. Loss window

    A book down 0.5% of its allocation in an hour, or 2% in an epoch, stops filling.

    Down 0.5% this hour: the book is halted
  5. Breaker

    A reference older than 10 slots, a confidence too wide, or a 3% move inside 150 slots halts every book in the pair. Fills resume 50 slots after it clears.

    Breaker tripped: every book in the pair is halted
199.981.0199.962.0199.924.0199.848.0199.7616200.021.0200.042.0200.084.0200.168.0200.2416200.00

Every check passing

One vault, many books

LPs deposit SOL and USDC into one vault. Each epoch the vault allocates inventory to every quoter’s own book — never more than the quoter’s tier allows on its bond, and never more than 35% of the vault.

Vault
2,000,000
Allocated to books
1,250,000
Idle
750,000

Sample vault at the v0 cap, USD

  1. 700k

    allocated at its cap

    Tier 2 · bond 80k · score 1.60

    cap 700k, 35% of the vault

  2. 300k

    allocated at its cap

    Tier 1 · bond 60k · score 1.10

    cap 300k, 5× bond

  3. 150k

    allocated by score

    Tier 1 · bond 50k · score 0.25

    cap 250k, 5× bond

  4. 50k

    allocated for exploration

    Tier 0 · bond 50k · score new

    cap 50k, 1× bond

  5. 50k

    allocated for exploration

    Tier 0 · bond 50k · score new

    cap 50k, 1× bond

The vault — each cell 50k of LP inventory

Each epoch settles against holding

Each book is measured against doing nothing: price its starting SOL and USDC at today’s reference, and the difference is what the quoter added. A falling SOL price costs a book nothing on this measure; a bad fill does.

  1. Every 1,500 slots a cranker marks each book to the reference price — 288 checkpoints in a 432,000-slot epoch.
  2. At the end of the epoch, excess above the high-water mark splits 50% to LPs, 40% to the quoter and 10% to the protocol, which buys $OPENPROP and burns it. The quoter’s share is credited to its bond.
  3. A book that ends down pays from its bond first. LPs carry only what the bond cannot.
Excess over hold, one sample book, checkpoint by checkpoint33,400USDslot 432,000
High-water mark 15,000slot 0432,000
Show as a table
SlotExcess over hold
012,000
72,00015,139
144,00014,671
216,00017,346
288,00023,297
360,00029,422
432,00033,400

Above the mark: 18,400

  • LPs · 50%9,200
  • Quoter, to its bond · 40%7,360
  • Protocol · 10%1,840

The protocol’s 10% buys $OPENPROP on the market and burns it. 1,000,000,000 fixed supply, all of it sold in one public launch.

A second book ends down 6,000

Bond50,000 → 44,000
LPsuntouched

Leverage is earned on the record

A new quoter starts fully covered: its book draws no more than its bond. Epochs with a positive score raise the cap; limit trips take it back.

  1. Tier 0, up to 1× the bondbond posted
  2. Tier 1, up to 5× the bond≥14 epochs, positive score, no limit trips in the last 7
  3. Tier 2, up to 15× the bond≥45 epochs, score above threshold, guardian review in v0

2 epoch-loss trips within 7 epochs drop a tier. No book draws more than 35% of the vault, whatever its tier.

Bond50k
Cap750k

Sample bond of 50k USDC

Built for the hot path

update_quote and swap_exact_in are kept small: the runtime checks the quoter’s signature, and the only calls out of the program are a swap’s two token transfers.

  1. update_quote

    A sequence number, a mid and five levels a side, signed by the quoter’s hot key. A sequence number at or below the stored one is rejected.

  2. Landing

    The quoter SDK sends each signed update down the paths the quoter plugs in, in order: an adapter for BAM’s Maker Priority Plugin, a Block Engine client, RPC. Freshness is counted in 200 ms slots.

  3. Reference price

    post_ref_price verifies a signed Pyth Pro update and a Switchboard Surge update and stores their midpoint. Anyone can post it.

  4. Routes

    The adapter for Jupiter’s AMM interface reads the book with no network calls and returns no quote when it is stale. swap_exact_in runs every check again, for routed swaps and direct ones alike.

  5. Who can do what

    Anyone can crank checkpoints and settlement. The guardian can halt a pair and cannot move funds. The admin multisig changes parameters; loosening a limit waits 3 epochs. Bonds are USDC and LP shares a plain SPL token; the protocol’s 10% buys $OPENPROP and burns it.

Quoter SDK

Rust. Signing, sequence numbers, landing, and a reference engine with parameter hooks: an AI agent sets spread, skew and size, and the engine requotes. Try the hooks.

Quotersigns each update with a hot keyseq 1,042
BAM MPP adapter
Block Engine client
RPC
OpenProp programupdate_quote 178 CUslot 0
Jupiter adapter
OpenProp app
Any wallet
swap_exact_in runs the five checks
Pyth Pro
Switchboard Surge
post_ref_price, their midpoint
Quotersigns each update with a hot keyseq 1,042
MPP
Block Engine
RPC
Programupdate_quote 178 CUslot 0
Pyth Pro
Switchboard Surge
swap_exact_in
Jupiter adapter
OpenProp app
Any wallet
Quote updates travel from the quoter down the SDK’s landing paths (MPP, the Block Engine or RPC) to the program every two slots; the reference is posted every slot from Pyth Pro and Switchboard Surge; swaps arrive from the Jupiter adapter, the app and wallets.

Apply for a quoting seat

Any wallet with a USDC bond can register while a seat is free; apply here to talk to the team first. LPs can leave a contact for the vault, capped at 2 million USD in v0.

Quoters

Market-making firms without a Solana venue, independent quants and AI-agent teams. Your book fills from its first epoch — through the app, wallets and the Jupiter adapter — and draws LP inventory in step with your bond and your record.

LPs

Deposit SOL and USDC, hold vault shares. Quoter bonds take the first loss, and withdrawals are served within 2 epochs.

Applications open with the app. The guides cover what a seat takes: the bond, the hot key, the Quoter SDK and how allocation follows a record.