Over time
Be your own indexer.
Every liquidation on Ethereum. One binary.
Aave, Spark, Compound, Morpho, Sky and Liquity since 2023, indexed by nuthatch, the AI-native blockchain indexer, from a single RPC on one machine. Live to the block, filterable, and yours to reproduce.
Debt repaid
priced at the hour
Liquidations
across six protocols
Borrowers
distinct, liquidated
Largest
a single liquidation
The engine room, live
What it takes to run, right now.
The nest's own counters, read from its /metrics every ten seconds. One process on a ThinkPad, one Ethereum endpoint, following every block.
The nest's metrics could not be read. Every figure below is unavailable, not zero.
Memory
·MB
resident, the whole process
CPU
·%
of one core
RPC calls
·/min
to one endpoint
Tip
·
blocks behind
Last poll
·s ago
asks for the tip every block
On disk
·MB
sealed Parquet and the hot store
Requests
·
answered since start
Up
·
since the last restart
Explore
Slice it any way you like.
The page loads every liquidation once, then filters in your browser. Nothing you click goes back to a server, so the ten-thousandth slice is as quick as the first.
By protocol
Where it happened
By collateral
What was seized
Liquidators
Who did the liquidating
Rhythm
Hour of the week, UTC
The ledger
The largest liquidations in this slice
How it works
One process, from RPC to this page.
No subgraph, no Postgres, no data vendor. A nest is a directory: seventeen contracts in a nuthatch.toml, six hand-written event ABIs, and a few SQL views that put six protocols into one table.
- 01 · RPCFetchAny Ethereum endpoint.
eth_getLogsover block ranges, timestamps from the logs. - 02 · DecodeDeterministicRust, keyed by topic0. Same logs in, same rows out, on any machine.
- 03 · SealParquetPast finality, rows are sealed into content-addressed segments. The tip lives in redb.
- 04 · QueryBurrmillOur DataFusion engine answers SQL over sealed and hot rows as one table.
- 05 · ServeDeclared queriesNo free-form SQL in public. This page reads them, and a snapshot of the same view.
$ nuthatch dev --dir liquidations --rpc $RPC --backfill 216000 --window 9999 17:37:45 INFO indexing nest 'liquidations' on mainnet: 17 contract(s), 26 table(s), 0 anonymous skipped, finality Depth(64), window 9999, registry 2ac7a4517ddb… 17:37:45 INFO API live on http://127.0.0.1:8302 (try GET / and /metrics) 17:37:45 INFO cold start: backfilling from block 26155698 (tip 26371698) 17:38:02 INFO backfilling 9.3% - block 26175695 of 26371698, 150 events, 8 ev/s 17:38:55 INFO backfilling 32.4% - block 26225690 of 26371698, 739 events, 10 ev/s 17:39:47 INFO backfilling 64.8% - block 26295683 of 26371698, 1474 events, 12 ev/s 17:40:20 INFO backfilling 97.2% - block 26365676 of 26371698, 2388 events, 15 ev/s # the full copy behind this page, 2023 to today $ nuthatch sql "SELECT protocol, count(*) AS n, round(sum(debt_usd)) AS usd FROM liquidations GROUP BY 1 ORDER BY 3 DESC" protocol | n | usd ----------+-------+-------------- Aave | 28051 | 2087995082.0 Compound | 1449 | 426968670.0 Morpho | 6591 | 338260091.0 Sky | 428 | 228195622.0 Spark | 2607 | 103791183.0 Liquity | 60 | 6967644.0 (6 rows)
Why nuthatch
The AI-native blockchain indexer.
Runs anywhere
A laptop, a small VPS, a browser tab.
One static binary for macOS and Linux, with nothing else to install. The same engine compiles to WebAssembly and runs a nest in a tab at /play, sealing the same bytes as a server.
- Blocks
- 10.06M
- On disk
- 143MB
- Resident
- 515MB
- Processes
- 1
This nest, measured on the MacBook that built it, while serving this page.
AI-native
An MCP server in the binary.
Schema discovery, SQL and entity lookup for your coding agent, offline against your own data. Every nest ships an llms.txt and a skill.
No one to ask
No key, no account, no vendor.
Point it at any RPC. MIT or Apache-2.0. It makes no network call about you that you did not turn on.
Verifiable
Content-addressed history.
Sealed segments are named by their hash. Index the same nest anywhere and you seal the same bytes.
Plain SQL
Views, not mappings.
Joining six protocols into one table is a SQL view, not a codebase. Every view behind this page is in the nest.
Run it yourself
Same nest, your machine, same numbers.
Everything on this page comes from one nest. Fetch it, point it at your own RPC, and you have this dataset locally, with a SQL prompt and an MCP server on top.
# install the binary $ curl -fsSL https://nuthatch-indexer.com/install.sh | sh # fetch the nest and index 2023 to today $ nuthatch init --from https://github.com/nuthatch-org/liquidations-nest $ nuthatch dev --dir liquidations-nest --rpc $YOUR_RPC # ask it anything $ nuthatch sql "SELECT protocol, count(*), sum(debt_usd) FROM liquidations GROUP BY 1"
What this page covers
- Aave v3 Core, Prime and EtherFi markets, and Spark
- Compound v3 USDC, WETH, USDS and wstETH markets
- Morpho Blue, every market
- Sky (Maker) liquidations through the Dog
- Liquity v1 troves
- Ethereum mainnet, from 1 January 2023 to the tip
What it does not
- Prices only what Chainlink ETH/USD and BTC/USD, or a dollar peg, can price
- Liquid staking tokens and long-tail assets are counted, not priced
- A Sky row is an auction opened by Bark; its debt is what the auction set out to cover
- No Euler, Fluid, Liquity v2 or Compound v2, yet
- No L2s here; each chain would be its own cursor
- Tip rows appear within about half a minute of their block