BLK ———
Live on Elysium testnetPropAMM venue

Professional quotes,
on-chain,
every block.

Quotient is a PropAMM venue for Elysium. Market makers post prices from their own inventory, refreshed every block, and traders fill against them through standard Uniswap v4 swap paths.

We are the venue, not the market maker. The quotes are theirs; the hook enforces them.

one quote, one slot
32 B
per quote update
$0.0002
router changes needed
0
29,366 gas per one-pool update+5,754 gas per extra pool≈ $0.0002 per update1 wei of priority fee decides ordering12 / 12 router paths match to the weiQuotes stamped with ArbSys L2 blocks
24h volume
—
24h fills
—
Live quotes
—
eligible right now
Freshest quote
—
age in L2 blocks
Block time
—
Elysium testnet
Cost / update
—

Why on-chain spreads are wide

A PropAMM lets the market maker set the price, not a formula.

01

The curve is always late

A passive AMM prices with a formula. When the market moves on Hyperliquid, the curve does not, and arbitrageurs trade against it until it catches up. LPs pay for that, so pools charge wide fees and traders pay them.

02

Off-chain quotes do not compose

Professional makers quote tight spreads, but on-chain they mostly do it through RFQ: signed off-chain, gated by API keys, often with last look. Routers cannot read those quotes like a pool, and contracts cannot call them.

03

Elysium removes the excuse

Real blocks every ~120 ms and a quote update that costs about $0.0002. For the first time on an EVM chain next to Hyperliquid, a maker can refresh an on-chain price every block and still make money.

How it works

Read the docs →
Quote01

One storage slot per pool.

Mid, both spreads, a per-block size cap, size impact, age decay, time-to-live, sequence and flags pack into 32 bytes. Batch every pool in one transaction: 29.4k gas for the first, 5.8k for each extra.

Fill02
  1. 1Universal Router · any v4 router
  2. 2Uniswap v4 PoolManager
  3. 3Our hook: best eligible quote
  4. 4Maker inventory

Standard Uniswap v4 paths.

Pools are ordinary v4 pools with a custom-curve hook. The Universal Router, the official V4Quoter and any v4-aware aggregator route in unchanged. The view quote matches the swap to the wei.

Protect03
TTLAGE IN L2 BLOCKS →SPREAD ↑

Stale quotes price themselves out.

The contract stamps each quote with its inclusion L2 block. Quotes expire after a maker-set number of blocks, widen with every block of age, cap fills per block, and can demand same-block freshness.

E5Sniper profit per hour, by protection

No protections$13.53
Expiry (40 blocks)$3.51
Expiry + age decay$0.00zero
+ per-block fill cap$0.11
Strict mode$0.00zero
$0$7$14 / hour
Hover a bar for what each protection does. Expiry alone cut the loss by about three quarters; adding age decay took it to zero.
Experiment E5, Elysium testnet. Partial run: 10–15 minutes per setting (planned 30) before the testnet halted, so treat these as small-sample results. Full table in the maker guide.

E1–E4Measured on Elysium testnet

Status →
Per-block counter
ArbSys.arbBlockNumber()
One-pool update
29,366 gas
Each extra pool
+5,754 gas
Cost per update
≈ $0.0002
Ordering
priority fee; +1 wei wins 97%
Router parity
12 / 12 cases, to the wei
Reference bot run
2.4 h · 5,819 updates
Hedge slippage
0.2–1.1 bp on Hyperliquid
For makers

Quote like a CLOB. Settle like an AMM.

  • Deposit inventory per pool. Withdraw any time, even while the venue is paused.
  • A hot operator key updates quotes and pauses. It can never move funds.
  • Batch every pool into one transaction, every block if you want.
  • A reference bot quotes from Hyperliquid and hedges its fills there.
For integrators

Standard v4 pools. Exact quotes.

// The view quote matches the swap to the wei,
// and matches V4Quoter's simulation.
const [amountOut, maker] = await hook.read.quoteExactIn([
  poolKey, zeroForOne, amountIn,
]);

LIVEFills

All pools →