
Same block

Backstop

Empty book

XRP

BTC

ETH

Vault
Every liquidation finds a buyer.
Every liquidation finds a buyer.
Every liquidation finds a buyer
Resting liquidity where liquidations land,
re-quoted by the chain in the same block.
Resting liquidity where
liquidations land, re-quoted by the chain in the same block.
Same-block re-quotes
No admin keys
No admin keys
Capped per market
Capped per market
Never sells below entry
Never sells below entry
Fully on chain
Stand where liquidations land. Read every liquidation price, rest orders at each cluster, and fill forced closes before they reach the insurance fund.
Live on Somnia for every dreamDEX perps market






Map the risk, rest the orders
Know where liquidations land
Catch reads every open position and its liquidation price, then clusters forced flow by price level. The map updates with every trade.
Know where liquidations land
Catch reads every open position and clusters forced flow by price level.
Bid 61,180
BTC
$18,400
Bid 2.312
XRP
$6,200
Ask 2,488
ETH
$9,750
Ask 63,950
BTC
$12,300
Bid 2,301
ETH
$4,100
All orders inside caps
Follow the book
Resting depth against every liquidation cluster, with each same-block re-quote marked on the line.
covered
Exposure caps
Every market has a published cap. An order that would breach it is never placed.
market
BTC
used
$25.4K
$96.8K free
cap
$122K
per market
Jan
Feb
mar
apr
may
jun
jul
$80K
Exposure caps
Every market has a cap. Orders that breach it are never placed.
used
$25.4K
$96.8K free
cap
$122K
per market
Jan
Feb
mar
apr
may
jun
jul
$80K
Exposure caps
Every market has a cap. Orders that breach it are never placed.
used
$25.4K
$96.8K free
cap
$122K
per market
Jan
Feb
mar
apr
may
jun
jul
$80K
Catches
Every forced close the vault filled, by market and size.
Alt
+$2.0K
XRP
+$24K
ETH
+$12K
XRP
+$8.5K
Alt
+$2.0K
BTC
+$1.8K
ETH
+$12K
XRP
+$24K
BTC
+$1.8K
XRP
+$8.5K
Catches
Every forced close the vault filled, by market and size.
Alt
+$2.0K
XRP
+$24K
ETH
+$12K
XRP
+$8.5K
Alt
+$2.0K
BTC
+$1.8K
ETH
+$12K
XRP
+$24K
BTC
+$1.8K
XRP
+$8.5K
Same-block re-quotes
A position moves, and the order moves with it in that same block.
+0 blk
BTC bid moved
$18,400
+0 blk
ETH ask moved
$7,900
+0 blk
XRP bid moved
$2,400
+0 blk
Stale ask cancelled
$8,900
+0 blk
BTC bid moved
$18,400
moved
Same-block re-quotes
A position moves, and the order moves with it in that same block.
+0 blk
BTC bid moved
$18,400
+0 blk
ETH ask moved
$7,900
+0 blk
XRP bid moved
$2,400
+0 blk
Stale ask cancelled
$8,900
+0 blk
BTC bid moved
$18,400
moved
Deposit once, back every book
The vault, one screen
Deposits, shares, resting orders and caught positions. One vault account backs every market.
2.29%
2.29%
$168,250
vault equity
Markets
resting
BTC-PERP
2 orders
0.15%
0.15%
$42,780
ETH-PERP
3 orders
0.22%
0.22%
$33,600
XRP-PERP
3 orders
1.81%
1.81%
$29,060
Other markets
5 orders
1.97%
1.97%
$62,810
Live liquidation map
Liquidation notional by price level, read straight from chain.
BTC
Bitcoin
1.91%
1.91%
ETH
Ether
1.64%
1.64%
XRP
XRP
1.52%
1.52%
ALL
All 21 dreamDEX perps markets
1.47%
1.47%
BTC
Bitcoin
4.02%
4.02%
Live liquidation map
Liquidation notional by price level, read straight from chain.
BTC
Bitcoin
1.91%
1.91%
ETH
Ether
1.64%
1.64%
XRP
XRP
1.52%
1.52%
ALL
All 21 dreamDEX perps markets
1.47%
1.47%
BTC
Bitcoin
4.02%
4.02%
Coverage
How much of each liquidation cluster has a resting order behind it.
Coverage
By notional
BTC
ETH
XRP
Others
Coverage
How much of each liquidation cluster has a resting order behind it.
Coverage
By notional
BTC
ETH
XRP
Others
The book was empty 27% of the time
Deposit USDso
Deposit USDso
Put in USDso, receive vault shares, and back resting orders at every liquidation cluster. Redeem whenever you want.
Put in USDso, receive vault shares, and back resting orders at every liquidation cluster. Redeem whenever you want.

27%
empty
98 of 363
liquidations closed nothing
Share
Count
No admin keys, no hidden exposure.
Measured on Hideki from the dreamDEX perps indexer, Oct 20 to 22, 2026.
How we measured it
98
empty
out of
363
found an empty book
Share
Count
No admin keys, no hidden exposure.
Measured on Hideki from the dreamDEX perps indexer, Oct 20 to 22, 2026.
How we measured it
27%
empty
98 of 363
liquidations closed nothing
Share
Count
No admin keys, no hidden exposure.
Measured on Hideki from the dreamDEX perps indexer, Oct 20 to 22, 2026.
How we measured it
Every attack has an answer

The problem, measured
Hideki, chain 50383
363 liquidations, 98 empty books

Empty book
The book is the first line
On dreamDEX the engine closes a liquidated position into the public order book first. When nobody is there, positionsProcessed is 0, the orders are cancelled, the position stays open and the loss moves down the waterfall toward the insurance fund.

Backstop bidders
one registered
The live LiquidationEngine reports one registered backstop bidder, so the waterfall reaches auto-deleveraging sooner than configured.
Thin markets
Where the book runs empty
BTC and ETH carry 65.5% of all perps volume. Fifteen of the twenty-one markets carry 1.6% or less each. Catch rests where the book is thinnest.

Invariant 1
exposure cap
Per-market exposure never exceeds its cap. An order that would breach it is not placed.
Spoofed cluster
Attack: fake a cluster, trade the orders
A large leveraged position can fake a liquidation cluster to pull the vault's orders and then trade against them. Orders are capped per market and per cluster, and they rest a few ticks inside the level, never at the mark.

Invariant 2
live clusters only
An order exists only where the current map has a liquidation cluster. No cluster, no order.
Market crash
Attack: catch a falling position
A vault that buys liquidations in a crash can lose money. Per-market exposure caps bound that loss, and the unwind closes caught positions with passive orders back toward the mark, never below the price they were caught at.

Invariant 3
no loss unwind
A caught position is never sold below the price at which it was caught.

Invariant 4
always redeemable
Depositors can always redeem their share. No admin path moves vault funds.

Invariant 5
never a keeper
The vault never triggers a liquidation. It only provides liquidity to liquidations the engine runs.
Gas starvation
Attack: starve the handler, leave orders stale
Perps orders cost 3M to 8M gas each, so a starved handler could leave orders where no cluster exists anymore. Every invocation runs a stale-order check first and cancels anything whose cluster is gone, and only the clusters that changed are re-quoted.

Admin drain
no such key
There is no admin withdrawal path. Redemption is the only outflow.
Same block
Reactivity, not a bot
Position events invoke the vault through Somnia Reactivity in the same block they happen. No server or bot process keeps Catch running.

Not a market maker
only where flow lands
Catch quotes nothing near the mark. It stands only where the map says forced flow will arrive.

The problem, measured
Hideki, chain 50383
363 liquidations, 98 empty books

Spoofed cluster
Attack: fake a cluster, trade the orders
A large leveraged position can fake a liquidation cluster to pull the vault's orders and then trade against them. Orders are capped per market and per cluster, and they rest a few ticks inside the level, never at the mark.

Invariant 5
never a keeper
The vault never triggers a liquidation. It only provides liquidity to liquidations the engine runs.
Empty book
The book is the first line
On dreamDEX the engine closes a liquidated position into the public order book first. When nobody is there, positionsProcessed is 0, the orders are cancelled, the position stays open and the loss moves down the waterfall toward the insurance fund.

Invariant 2
live clusters only
An order exists only where the current map has a liquidation cluster. No cluster, no order.
Gas starvation
Attack: starve the handler, leave orders stale
Perps orders cost 3M to 8M gas each, so a starved handler could leave orders where no cluster exists anymore. Every invocation runs a stale-order check first and cancels anything whose cluster is gone, and only the clusters that changed are re-quoted.

Backstop bidders
one registered
The live LiquidationEngine reports one registered backstop bidder, so the waterfall reaches auto-deleveraging sooner than configured.
Market crash
Attack: catch a falling position
A vault that buys liquidations in a crash can lose money. Per-market exposure caps bound that loss, and the unwind closes caught positions with passive orders back toward the mark, never below the price they were caught at.

Admin drain
no such key
There is no admin withdrawal path. Redemption is the only outflow.
Thin markets
Where the book runs empty
BTC and ETH carry 65.5% of all perps volume. Fifteen of the twenty-one markets carry 1.6% or less each. Catch rests where the book is thinnest.

Invariant 3
no loss unwind
A caught position is never sold below the price at which it was caught.
Same block
Reactivity, not a bot
Position events invoke the vault through Somnia Reactivity in the same block they happen. No server or bot process keeps Catch running.

Invariant 1
exposure cap
Per-market exposure never exceeds its cap. An order that would breach it is not placed.

Invariant 4
always redeemable
Depositors can always redeem their share. No admin path moves vault funds.

Not a market maker
only where flow lands
Catch quotes nothing near the mark. It stands only where the map says forced flow will arrive.
Never meet an empty book
Welcome to Catch,
the backstop that is always in the book.




Same block

Empty book

Vault

BTC

Backstop

ETH

XRP

Same block

Empty book

Vault

BTC

Backstop

ETH

XRP

Same block

Empty book

Vault

BTC

Backstop

ETH

XRP