Aurelia

Pool API

GET/pools/:chain/:address

A pool's metadata, both tokens, its live state, and its market: price, liquidity, and stats over 5m to 24h.

Parameters

NameInTypeDefaultAllowed values
chainpathstringrequiredevm:56 (BSC), solana, evm:8453 (Base), evm:4663 (Robinhood Chain) or evm:1 (Ethereum)
addresspathstringrequiredPool address (BSC; a 32-byte pool id for Uniswap V4, PancakeSwap Infinity CL, and four.meme TokenManager2 and flap.sh curves) or pool account (Solana)

Response

FieldTypeMeaning
poolobjectchain, address, protocol, token0, token1, factory (or null), extra (protocol details: fee, tick spacing, vaults, hooks…).
pool.createdBlock, createdAt, createdTx, creatornumber | null, number | null, string | null, string | nullThe pool's creation. Null when Aurelia first saw the pool through a swap, not its creation.
token0, token1object | nulladdress, decimals, symbol, name, firstSeenBlock, and logo: an absolute URL, or null.
stateobject | nullAfter the last indexed event that touched the pool: atBlock, atIndex; reserve0, reserve1 (decimals applied); sqrtPrice and liquidity (raw, concentrated liquidity only), tick, activeBin, curveComplete where the pool type has them. null when unknown.
priceobject | nullThe closes of the pool's charts: baseToken and quoteToken; usd, the base's USD price at the newest priced swap (null without one); quote, its price in quote-token units at the newest swap. null when the base of the pool's newest hour of swaps cannot be told.
liquidityUsdnumber | nullValue of the pool's real balances at both tokens' USD prices in its newest priced swap. null for concentrated liquidity and bins on BSC, whose reserves are virtual, and without both prices.
windows{ 5m, 1h, 6h, 24h }Each: volumeUsd, buyVolumeUsd, sellVolumeUsd, trades, buys, sells (a buy is the trader receiving the base), traders (approximate), priceChange (the base's, from 1-minute closes).

Example

Captured 2026-09-28 18:03 UTC on a test instance.

curl -s -H 'Authorization: Bearer <key>' 'https://app.aurelia.build/api/pools/evm:56/0x702e6533e0182381606adbe3ccbb77f682ccc58b'
{
  "pool": {
    "chain": "evm:56",
    "address": "0x702e6533e0182381606adbe3ccbb77f682ccc58b",
    "protocol": "pancakeswap-v2",
    "token0": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
    "token1": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
    "factory": null,
    "createdBlock": 1000008,
    "createdTx": null,
    "creator": "0x0f325bd174c70440fa62c31dce9f69d54baf717e",
    "extra": {},
    "createdAt": 1790549261920
  },
  "token0": {
    "address": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
    "decimals": 18,
    "symbol": "TAX",
    "name": "Tax Token",
    "firstSeenBlock": 1000002,
    "logo": null
  },
  "token1": {
    "address": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
    "decimals": 18,
    "symbol": "WBNB",
    "name": "Wrapped BNB",
    "firstSeenBlock": 1000001,
    "logo": null
  },
  "state": {
    "atBlock": 1000008,
    "atIndex": 0,
    "reserve0": "700000000",
    "reserve1": "7"
  },
  "price": {
    "baseToken": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
    "quoteToken": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
    "usd": 0.006,
    "quote": 0.00001
  },
  "liquidityUsd": 4204200,
  "windows": {
    "5m": {
      "volumeUsd": 600,
      "buyVolumeUsd": 600,
      "sellVolumeUsd": 0,
      "trades": 2,
      "buys": 2,
      "sells": 0,
      "traders": 1,
      "priceChange": 0
    },
    "1h": {
      "volumeUsd": 618,
      "buyVolumeUsd": 612,
      "sellVolumeUsd": 6,
      "trades": 5,
      "buys": 4,
      "sells": 1,
      "traders": 4,
      "priceChange": -0.019999999999999907
    },
    "6h": {
      "volumeUsd": 822,
      "buyVolumeUsd": 762,
      "sellVolumeUsd": 60,
      "trades": 31,
      "buys": 21,
      "sells": 10,
      "traders": 8,
      "priceChange": 0
    },
    "24h": {
      "volumeUsd": 1368,
      "buyVolumeUsd": 1170,
      "sellVolumeUsd": 198,
      "trades": 102,
      "buys": 69,
      "sells": 33,
      "traders": 8,
      "priceChange": null
    }
  }
}

Notes

  • Cached 5 s. The pool channel sends this answer again as it changes, and the price after each swap.
  • Constant-product pools report real balances. Concentrated liquidity reports the active range's virtual reserves: take the price from sqrtPrice, price or trades, not from reserves.
  • Window stats count every swap of the pool, unpriced ones (0 USD) and those under $0.01 included; priceChange follows the candles, which leave those out.
  • 404 {"error":"unknown pool"} for a pool Aurelia has never stored.

Try it in the interactive docsCreate a free account