OpenProp: The prop AMM with an open quoting seat
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.
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 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 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 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 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
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
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.
- Every 1,500 slots a cranker marks each book to the reference price — 288 checkpoints in a 432,000-slot epoch.
- 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.
- A book that ends down pays from its bond first. LPs carry only what the bond cannot.
Show as a table
| Slot | Excess over hold |
|---|---|
| 0 | 12,000 |
| 72,000 | 15,139 |
| 144,000 | 14,671 |
| 216,000 | 17,346 |
| 288,000 | 23,297 |
| 360,000 | 29,422 |
| 432,000 | 33,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
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.
- Tier 0, up to 1× the bondbond posted
- Tier 1, up to 5× the bond≥14 epochs, positive score, no limit trips in the last 7
- 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.
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.
update_quoteA 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.
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.
Reference price
post_ref_priceverifies a signed Pyth Pro update and a Switchboard Surge update and stores their midpoint. Anyone can post it.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_inruns every check again, for routed swaps and direct ones alike.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.
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.