Indexing live 7s · #25,492,619

What the chain actually said.
At every block.

Point-in-time DeFi data: Aave rates, Uniswap prices, Lido supply as the contracts returned them, block by block. Indexed live and aligned into one pandas DataFrame, built for quants and the agents they run.

defipipe.io/datasets
Aave V3 WETH borrow APR Uniswap V3 ETH/USDC price
Jul 8Jul 9
backtest.py
from defipipe import Client df = Client().aligned([ "eth:aave:v3:0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2/weth:call:getreservedata[currentvariableborrowrate]", "eth:uniswap:v3:0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640:call:slot0[sqrtpricex96]", ], freq="1h", since="2026-01-01") df.corr() # runs without an API key

Point-in-time state

Events tell you what happened.
State is what the contract would have said.

Every other vendor builds from event logs: things protocols emit when something happens. But utilization, oracle answers, and exchange rates never emit anything; they just are, block by block. defipipe samples the read functions themselves, so your backtest sees exactly what a call would have returned at that moment.

Every series aligns by block timestamp into a single DataFrame. No resampling gymnastics, no look-ahead bias.

Aave V3 WETH borrow APR Uniswap V3 ETH/USDC price
Jul 8Jul 9
10datasets
33canonical series
#25,492,619latest block · live
7sbehind chain head

Coverage

Request a pool, get its full history

Coverage is a registry row, not a code change. Approved requests ship with complete backfilled history since the pool's first block.

Request coverage

Data quality

Gaps and staleness are alerts, not surprises

Gap detection, staleness monitoring, and sanity bounds run continuously. The freshness badge on every dataset is measured, not promised.

How it works

For humans and agents

One call, or one MCP tool

pip install defipipe for notebooks; machine-readable limits, honest 429s, and no-signup snippets for agents. Nothing here bounces off an auth wall.

Read the docs

Live datasets

10 datasets · 33 series · per-block since Nov 2020Browse the catalog →

Start free. No signup.

Every dataset page previews real per-block data. Pay only when you need history.