burneh
Crypto

The chain, as a database you can actually query.

Raw chain data is unusable and your RPC is slow. We build the indexer that follows every block, decodes the events you care about, and keeps a fast database in sync, reorgs and all.

Start a build
Postgres + GraphQLreorg-safe0 behind head
Indexer · Ethereumin sync · 21,450,112
21,450,112TransferUSDC · 1,200→ indexed
21,450,111SwapETH → USDC · 0.05% pool→ indexed
21,450,110MintAcme #4471→ indexed
ingest pipeline0 blocks behind head
Block
#21,450,112
Decode
against the ABI
Postgres
upsert by log id
throughput
1,240 /s
events indexed
4,912,004
reorg-safe
yes

That's the head of the chain, decoded and written as it arrives. Every row is a typed record you could query a second later.

A reorg doesn't corrupt the data.

Naive indexers write the head as if it's final and break the first time the chain reorganizes. Trip one and watch the orphaned rows roll back in a transaction, then re-index on the canonical fork.

events · decoded rowsin sync · head confirmed
blockeventmetastatus
21,450,112SwapETH → USDCindexed
21,450,111TransferUSDC · 1,200indexed
21,450,110Depositvault · 3.2 ETHindexed
21,450,109MintAcme #4471indexed
21,450,108Approvalrouter · maxindexed

Decoded, not raw.

The chain speaks in hashed topics and packed bytes. We decode each log against the ABI into a typed row, so your app reads a transfer, not a wall of hex.

raw log
1topics[0] xddf252ad1be2c…d5b3ef // keccak("Transfer(address,address,uint256)")
2topics[1] x0000…fe41b // from
3topics[2] x0000…ac7d2 // to
4data x000000000000000000000000000000000000000000000000000000000000 b0
decoded row
1Transfer(
2 from: x9f…e41b,
3 to: x3a…c7d2,
4 value: 1200000000 // 1,200 USDC (6 decimals)
5)

Then query it like any other database.

Once it's indexed, the chain is just tables. Pick a question, read the SQL, and get an answer in milliseconds, or point your app at the GraphQL layer.

query.sql
1select pool, count(*) as swaps, sum(amount_usd) as volume
2from swaps
3where block_time > now() - interval '24 hours'
4group by pool order by volume desc limit 3;
poolswapsvolume
ETH / USDC5,104$5.1M
WBTC / ETH2,733$2.7M
DAI / USDC1,618$1.6M
3 rows · 12 ms

The chain, as a database you can actually query.

Every block followed, the events you care about decoded to typed rows, reorg-safe, backfilled and live. A Postgres schema and a GraphQL layer, whichever your app speaks.