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.
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)
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.
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.
NAV accounting
The pool's net asset value is what ERC-4626 calls totalAssets.
NAV = free USDG + Σ (tokens held × oracle price)share price = NAV ÷ share supply
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)
- 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.