Skip to content

Quoting simulator

A live playground for the three quoting models. Set each model's parameters independently, then watch the book react to the two forces a real maker bot has to reason about between ticks:

  • Incoming fills — a taker consuming your liquidity best-first, draining levels and shifting your inventory.
  • Slot progression — Solana slots advancing, which ages your fair, decays your risk accumulator, and backs your spread off the mid.

New to the models? Skim How Flint works → Quoting strategies first for the static picture, then come back here to put them in motion. The numbers are illustrative; the mechanics mirror what the matcher does on-chain. For the full API behind every parameter, see the Quoting recipe.

Quoting consoleSIMULATED
SOL / USDC·slot 0

A fair price plus a cumulative offset ladder. Levels go stale as slots pass; fills accumulate toward a risk-dampened size that decays back down.

Slot
Taker fill
Slot0
Quote age0slots
Eligible10/ 10
Base inv.+0.00
Quote inv.+0
Risk acc.0

Parameters

Offset ladder 5/16
offsetsizestale

offsets are cumulative — measured outward from fair · up to 16 levels per side

Risk dampening
accumulator0 / 2000

fills build it · slots decay it · ≥ 100% dampens the ladder

Book map

shape & dynamics in price space
bid askfaint = published · solid = live
Bid155.063 SOL
Mid155.100fair
Ask155.143 SOL
Spread0.08price
bps5.2of mid
price ↑fair 155.10155.7035155.4520155.3012155.206155.143155.063155.006154.9012154.7520154.5035
Event log
  • Advance slots or send a taker fill to see the book react.

What to poke at

  • OrderList is inert against slots — only a fill or your own re-quote changes it. Send a few taker buys and watch the asks drain best-first while your inventory moves.
  • OracleOffset levels grey out once the fair ages past their staleness. Advance a few slots to stale them, then Re-publish to reset the clock. For risk dampening, send two taker fills — the accumulator gauge crosses maker_volume_to_saturation and the whole ladder shrinks by risk_reduce_factor. Then hit +5: the accumulator decays back under the threshold and the ladder snaps to full size, just before the quote goes stale.
  • LinearDistribution's best edge drifts away from the mid by spread_backoff_per_slot every silent slot — advance slots and watch the band widen, then re-publish to pull it back in.

Each model's parameters map one-to-one to the SDK types documented under Quoting: OffsetSpec + RiskParams for OracleOffset, LinearFair.fair(...) + LinearParams for LinearDistribution, and the submit/cancel ops for OrderList.

Built on Solana