As the name indicates, pool snapshots represents the state of an AMM liquidity pool for a given timestamp. Pool snapshots are taken daily and represent the state of the liquidity pool at midnight UTC.

Pool Snapshot Data Methodology

When adding a new pool or a new token, we first backfill its history. To do this we query the corresponding pool/token state on the block closest to midnight UTC for every day since the pool or token was created.

After a pool history is backfilled, the pool snapshots are updated every day. Every pool snapshot is taken on the block closest to midnight UTC.

API Response Format

FieldTypeDescription
pairstringPool address
networknumberThe network on which the pool is deployed
token0stringAddress of the first token (token0) in the pool.
token1stringAddress of the second token (token1) in the pool.
block_numbernumberThe block number on the Ethereum network where the pool snapshot was taken.
timestringThe datetime at which the pool snapshot was taken.
reserves0stringThe amount of the first token (token0) in the pool.
reserves1stringThe amount of the second token (token1) in the pool.

Example Response:

{
    "statusCode": 200,
    "status": true,
    "data": [
        {
            "pair": "0xe1573b9d29e2183b1af0e743dc2754979a40d237",
            "token0": "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0",
            "token1": "0x853d955acef822db058eb8505911ed77f175b99e",
            "block_number": 16129195,
            "time": "2022-12-07T00:00:00.000Z",
            "reserves0": 1418558.415013009,
            "reserves1": 7582539.185808967,
            "network": 1
        },
        {
            "pair": "0xe1573b9d29e2183b1af0e743dc2754979a40d237",
            "token0": "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0",
            "token1": "0x853d955acef822db058eb8505911ed77f175b99e",
            "block_number": 16122025,
            "time": "2022-12-06T00:00:00.000Z",
            "reserves0": 1427907.276491544,
            "reserves1": 7531711.729155049,
            "network": 1
        },
        ...
        ],
    "cursor": "MTY2Nzg2NTYwMA=="
}