THE PROBLEM
$10.8M
liquidation value
Feb 22, 2026 YieldBlox exploit — USTRY/XLM oracle manipulation
2 bots
captured majority
Single-operator bots pre-positioned. No coordinated keeper response.
60
auction fills
Over ~4 hours. One Docker container, one private key, no fallback.
→ Stellar DeFi (~$187M TVL) relies on single-operator bots for critical automation. Blend's liquidation bot is explicitly disclaimed as "not guaranteed to be profitable and may result in financial loss". Nectar distributes keeper responsibility across competing operators.
ARCHITECTURE
KeeperRegistry — staking & slashing
Operators register by staking USDC; the registry tracks executions, success rate, and outstanding draws. Slashing transfers a configurable share of the stake to the vault when a draw isn't returned within the timeout.
NectarVault — pooled liquidation capital
Depositors mint shares against pooled USDC. Deposit caps and per-account withdrawal cooldowns protect against capacity attacks; share price reflects accumulated profit. draw() / return_proceeds() cross-call the registry to mark and clear the operator's outstanding draw.
Blend Pool — Dutch auctions
Liquidations run as two-phase Dutch auctions: lot scales 0→100 % over the first 200 ledgers, bid scales 100→0 % over the next 200. Keepers evaluate profitability live and submit a fill when lot/bid crosses their threshold.
Multi-operator race
Both keepers can simulate and submit fills concurrently. One wins; the other receives an AlreadyFilled error, returns the drawn capital to the vault, and logs the loss.
The network · right now
Competing keepers, one shared vault
MONITOR
Pool Position Health
awaiting keeper API
No positions monitored — connect a running keeper to stream live Blend pool health here.