Testnet Live — Soroban Testnet

Keeper
Infrastructure
for Soroban

Multi-operator liquidation network for Blend Protocol. Distributed across competing keepers. No single point of failure.

keeper log stream — demo
[keeper-alpha] pos GABC3…F2Q0 hf=1.847 — monitoring
[keeper-beta] pool loaded reserves=2
[keeper-alpha] pos GD7F9…2K1R hf=1.203 — monitoring
[keeper-beta] pool heartbeat ledger=51247801
scroll ↓

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

SOROBAN TESTNETKeeperRegistryregister()deregister()get_keepers()pause()Blend Poolnew_auction()submit()get_positions()Mock Oracleset_price(asset, price)pricesOFF-CHAINKeeper #1 (keeper-alpha)monitor → detect → fillOperator A keypairKeeper #2 (keeper-beta)monitor → detect → fillOperator B keypair
KeeperRegistry
Soroban contract storing registered keeper operators. Any operator can self-register. Admin can pause in emergencies. On-chain source of truth for who is participating.
Blend Pool Monitor
Each keeper independently polls the Blend pool for user health factors using PositionsEstimate. When HF drops below 1.0, both keepers detect it simultaneously.
Auction Execution
Blend uses Dutch auctions — collateral lot grows over 200 blocks while bid cost decreases. Keepers evaluate profitability and fill when lot/bid ratio exceeds threshold.
Multi-Operator Race
Both keepers submit fill transactions. One wins (first confirmed). The other handles the failure gracefully, logging 'already filled by another keeper'.

ON-CHAIN

KeeperRegistry

2 operators registered
ADDRESSNAMESTATUS
GCR36Y…ZTGZkeeper-alphaACTIVE
GBOE5Q…546Fkeeper-betaACTIVE
Contract: CAWT5H…OUB · Soroban Testnet

MONITOR

Pool Position Health

simulated · no keeper connected
ADDRESSHEALTH FACTORSTATUS
GD7F9…2K1R1.8470healthy
GABC3…F2Q01.2030healthy
GB2M1…7YRZ1.0560AT RISKAT RISK
GCFD8…P3N92.3410healthy