Skip to content
Blotter

Protocol

Warehouse and unwinding

How seized collateral is valued, held, and sold in capped tranches during market hours.

The warehouse is the inventory of Stock Tokens that the pool has seized and not yet sold. Unwinding is the process of selling it for USDG. The rules on this page decide how much of the liquidation bonus the pool keeps, and how much price risk it carries while it waits.

Valuation at the oracle

Every token in the warehouse is valued at the current oracle price. Not at cost, and not at the AMM price. The oracle price is the same reference that lending markets use, it is anchored to the underlying stock market, and it cannot be moved by a trade on a thin AMM.

This choice has two consequences that depositors should understand. First, the value of the warehouse moves with the stock. When the oracle price falls, the pool's total assets fall with it, immediately. Second, while the feed is frozen over a night or a weekend, the valuation is frozen too. The share price over a weekend reflects Friday's close, not what the market will print on Monday.

The warehouse and its capsSeized Stock Tokens are held in one bin per ticker, valued at the oracle price. Each bin has a per-ticker cap, and bins are grouped by sector under a sector cap. A full bin stops new seizures for that ticker.sector A · sector capsector B · sector capsector C · sector cap$NVDA$AAPL$TSLAtickertickertickerticker capEvery bin is valued at the current oracle price. At the cap, the pool stops seizing that tickerand ordinary liquidators take over. Values of the caps are published on-chain.
Seized tokens sit in the warehouse at oracle value, grouped by ticker and sector, each under its cap.

Why waiting is the product

Every liquidator receives the same bonus from the lending market. The result depends on the exit. At the print, the AMM is shallow and crowded, and an immediate sale can cost more than the bonus. Later in the session, the burst is over and arbitrageurs are active: each sale is followed by a flow that brings the AMM price back toward the oracle price.

The pool is paid for supplying the one thing atomic liquidators lack, which is time. The price of time is exposure: between seizure and sale, the pool owns the stock.

The unwinding rules

Four rules apply to every sale. They are designed to be enforced by the contract itself, whoever submits the transaction.

Market hours only

Tranches are sent only during the regular session of the underlying market: 9:30 to 16:00 Eastern Time, Monday to Friday, excluding exchange holidays. During the session, arbitrageurs can hedge on the underlying market, so the AMM price is anchored. Outside it, a sale moves a price that nothing corrects. The cost: inventory seized late in a session may not be sold before the close.

Tranche cap

Each sale is capped as a percentage of the AMM's volume and reserve. The cap bounds the price impact of any single tranche.

q = tranche ÷ token reserveimpact = 1 − 1 ÷ (1 + q)²slippage paid = 1 − 1 ÷ (1 + q)
Price impact of one tranche in a constant-product AMM

Example (hypothetical numbers). A tranche equal to 1% of the reserve moves the AMM price by about 1.97% and sells at an average of about 0.99% below the starting price. Ten such tranches, each sent after arbitrage has restored the price, cost about 0.99% each. One sale ten times as large would cost about 9.1%.

The cost of the cap is speed. A small cap means low slippage and a long unwind, which means more inventory carried across a close.

Never during a halt

If trading in the underlying stock is halted, or a market-wide circuit breaker is active, no tranche is sent for the affected tickers. During a halt there is no live reference price and no hedge for arbitrageurs. The cost: a halt late in the day can force inventory to be carried overnight.

Never on a stale feed

If the oracle price is older than its heartbeat, no tranche is sent. The pool does not sell against a reference it cannot trust, for the same reason it does not seize against one.

Seizures and tranches across a sessionSeizures cluster at the 9:30 open. Tranches are spread across the regular session, pause during a halt, stop at the 16:00 close, and whatever remains is carried to the next session at oracle value.haltno trancheseizures at the printcapped tranches · fresh feed only9:3016:00closedclosedcarriedInventory left at the close is not dumped. It is carried at oracle value and stays exposed to the next open.
Seizures cluster at the open. Tranches are spread across the regular session. Whatever remains at the close is carried to the next session.

Carrying inventory to the next session

Inventory that is not sold by 16:00 stays in the warehouse. It is not dumped into the close to flatten the book. It is carried at oracle value and unwinding resumes at the next open, under the same rules.

This is the main risk the pool takes. Carried inventory is exposed to the next gap. If the stock opens lower, the warehouse is worth less, and if that loss exceeds the premium already collected, the pool has a net loss. The loss burns staked $BLOT first, then reaches depositors. The inventory caps limit how large this exposure can be for one ticker or one sector. They do not remove it.

There is a second-order effect. USDG tied up in carried inventory is not available for the next wave of liquidations. A pool that is full of Friday's inventory absorbs less on Monday.

The pool's net asset value is what ERC-4626 calls totalAssets.

NAV = free USDG + Σ (tokens held × oracle price)share price = NAV ÷ share supply
Net asset value of the pool

A seizure raises NAV by the gross premium at once, because tokens bought below the oracle price are booked at the oracle price. A tranche lowers NAV by the slippage paid. A move in the oracle price changes NAV by the move times the tokens held. There is no smoothing and no deferred recognition.

Where the result comes from

For any batch of inventory, from seizure to final sale:

result = bonus collected − slippage paid ± mark-to-market while heldmark-to-market = Σ tokens held × (oracle price at sale − oracle price at seizure)
Result of a batch of inventory
  • Bonus collected is set by the lending market and known at seizure.
  • Slippage paid is controlled by the tranche cap and by the depth of the AMM.
  • Mark-to-market is not controlled. It can be positive or negative, and over a gap it can be larger than the other two terms combined.

A positive result is the net premium and is split 70/20/10 as described in $BLOT. A negative result is a loss. The simulator lets you vary the gap, the AMM depth and the pool size to see when each term dominates. Its model is a simplification and uses fictional funds.