I spent several months building and running a liquidation system for Aave V3 and V4 across Ethereum, Arbitrum and Base. I have written up how it works and am attaching it here.
There is a lot of public material on MEV in general and very little on how liquidations actually reach Aave. Most descriptions stop at “watch health
factors and call liquidationCall”, which skips almost everything that matters once you try to compete. This is the part that gets skipped.
What the document covers:
• The state engine — census, event listening, and why position health is
computed entirely offline. With scaled balances, reserve indices and prices,
health becomes pure arithmetic, so a price update triggers a local evaluation
of ~19,000 positions in milliseconds rather than thousands of RPC calls.
• Decoding an SVR frame — the exact structure of a Chainlink Smart Value
Recapture update, why the report has to be decoded as parameters rather than
as a tuple, and why filtering by selector alone is not enough.
• Four execution paths, because the chains are not the same:
• Atlas on Arbitrum and Base — solver operations, the owner/signer
constraint, the gas ceiling, and why parallel auctions require two bonded
wallets
• MEV-Share on Ethereum — hash-referenced bundles, why builder multiplexing
is not optional, and simulating against a state that does not exist yet
• Direct execution — where there is no auction to win, and what the gas
profile of that channel reveals about who is using it
• Timeboost via Kairos on Arbitrum — 60-second rounds, the express lane, and
why network latency stops being the constraint
• The economics — how the bid is calculated, where the liquidation protocol
fee has to be discounted and where it must not, and a coupling between two
parameters that silently raises the size floor of the whole system.
• On-chain execution — flash loan cascades and the fact that providers
collect in two incompatible ways, explicit swap routing, batch liquidations,
and same-asset positions whose health factor is mathematically invariant to
price.
A few measurements are included where they changed how I built things. The one that reframed everything: in a traced auction, the winning liquidator paid of extracted value to the block builder and retained under two dollars. You do not win these by bidding less — you win by having lower costs than the second-best bidder.
Contract addresses, configuration parameters and wallet details are left out.
Everything structural is there.
I am moving my time to other projects and will not be operating this going forward. If anyone is interested in the codebase itself, or wants more detail on any of the above, feel free to reach out and we can discuss it privately.
sentinel-architecture.pdf (130.1 KB)