The price guard
Blackpool trusts the pool for its price. The price guard is what stops that trust from being exploited in a single block.
The attack it answers
Once orders are revealed, anyone can see the imbalance. Someone who knows buyers outweigh sellers could push the pool price up just before settling, so the crossed buyers pay more, then unwind. The same works the other way.
The defence
During the batch, the midpoint is sampled: at every reveal and whenever someone calls poke(market), at most once per L1 block. At settlement, the midpoint must sit within the market's bound of the average of those samples:
| Market | Bound |
|---|---|
| SPY | 0.60 % |
| TSLA | 1.50 % |
| SPCX | 2.00 % |
| Every other launch market | 1.00 % |
If it does not, the batch is voided and nobody trades at the moved price. Moving a pool and holding it there across several L1 blocks costs the mover the arbitrage against every other trader of that pool.
What it does not do
It does not make the midpoint equal to the price on the stock's listing venue. Blackpool fills at the on-chain price, which can differ from Nasdaq or NYSE, especially while those are closed. The markets table shows the gap live.
A keeper calls poke for each market during every batch. If fewer than two samples exist, the batch is voided rather than trusted.