Soroban state expires. When a storage entry's TTL hits zero, the next user to touch it pays up to 10x in restoration fees. Lazarus keeps state warm before anyone has to pay for it, with no custody of dApp keys and no cron servers to babysit.
Stellar Core allows only one operation per transaction, so a keeper can't extend a TTL and claim a reward in the same envelope. Lazarus splits the job in three:
- Extend: a keeper submits a standalone
ExtendFootprintTTLOpfor keys near expiry. - Attest: the attestation oracle verifies the closed ledger and issues a signed
BumpVoucher. - Settle: keepers redeem up to 10 vouchers at once from the dApp's non-custodial escrow.
| Component | What it does | |
|---|---|---|
| 📜 | contracts |
Soroban escrow vault, circuit breakers, batched voucher settlement |
| 🔍 | indexer |
Django indexer with Hubble BigQuery snapshots and RPC ledger catch-up |
| 🤖 | keeper |
Autonomous keeper daemon, deterministic cohort sharding, and footprint batching |
| 🔐 | attestation |
AWS Nitro Enclave signer & 2-of-3 FROST MPC threshold oracle |
| 🌐 | web |
React TTL heatmap dashboard and escrow portal (lazarusprotocol.online) |
| 📖 | docs |
Architecture, contract API, keeper and indexer guides |
