Skip to content

API ReferencePools

Endpoints

Pools

Every Elysium pool with TVL, volume and fees, per-pool charts and activity.

Base URLhttps://api.lane.markets/v1local instance: http://localhost:3000/v1

Pools with TVL, volumes, fees, price, market cap, age

GET/v1/pools

Query parameters

  • venuestring

    Substring of the venue name (uniswap, aero, nest, solidly, a launchpad)

  • tokentoken id

    ERC20 address, or HYPE for native

  • sort"tvl" | "volume24h" | "fees24h" | "newest"default tvl

  • limitintegerdefault 50

  • offsetintegerdefault 0

Responses

200Pools

  • totalinteger

  • poolsobject[]

  • pools[].addressstring

  • pools[].venuestring

  • pools[].protocolstring

  • pools[].factorystring

  • pools[].hooksstring | null

  • pools[].feeBpsnumber

  • pools[].token0object

  • pools[].token1object

  • pools[].baseobject

  • pools[].quoteobject

  • pools[].priceUsdnumber | null

  • pools[].change24hnumber | null

  • pools[].marketCapUsdnumber | null

  • pools[].tvlUsdnumber | null

  • pools[].volumeUsdobject

  • pools[].volumeUsd.1hnumber

  • pools[].volumeUsd.4hnumber

  • pools[].volumeUsd.12hnumber

  • pools[].volumeUsd.24hnumber

  • pools[].fees24hUsdnumber

  • pools[].swaps24hinteger

  • pools[].createdAtinteger | null

  • pools[].poolsInPairinteger

Request
curl "https://api.lane.markets/v1/pools"

Totals for the Pools page header

GET/v1/pools/stats

Responses

200Totals

  • tvlUsdnumber

  • poolsinteger

  • volume24hUsdnumber

  • fees24hUsdnumber

  • swaps24hinteger

  • openPositionsinteger | null

Request
curl "https://api.lane.markets/v1/pools/stats"

One pool, with APR, 7d TVL change, LP count

GET/v1/pools/{id}

Path parameters

  • idstringrequired

    Address, or 32-byte v4 pool id

Responses

200Pool

  • addressstring

  • venuestring

  • protocolstring

  • factorystring

  • hooksstring | null

  • feeBpsnumber

  • token0object

  • token1object

  • baseobject

  • quoteobject

  • priceUsdnumber | null

  • change24hnumber | null

  • marketCapUsdnumber | null

  • tvlUsdnumber | null

  • volumeUsdobject

  • volumeUsd.1hnumber

  • volumeUsd.4hnumber

  • volumeUsd.12hnumber

  • volumeUsd.24hnumber

  • fees24hUsdnumber

  • swaps24hinteger

  • createdAtinteger | null

  • poolsInPairinteger

  • tvlChange7dnumber | null

  • aprPctnumber | null

  • liquidityProvidersinteger

  • firstSeeninteger | null

  • keyobject | null

404Unknown pool

Request
curl "https://api.lane.markets/v1/pools/1"

Volume, fees and TVL over time

GET/v1/pools/{id}/chart

Path parameters

  • idstringrequired

Query parameters

  • interval"1h" | "1d"default 1h

  • daysinteger

Responses

200Series

  • intervalstring

  • volumeobject[]

  • tvlobject[]

Request
curl "https://api.lane.markets/v1/pools/1/chart"

Swaps, adds, removes of a pool

GET/v1/pools/{id}/activity

Path parameters

  • idstringrequired

Query parameters

  • limitintegerdefault 50

  • beforeinteger

    Block number (paging)

Responses

200Activity

  • itemsobject[]

  • items[].txstring

  • items[].blockinteger

  • items[].timeinteger

  • items[].poolstring

  • items[].type"buy" | "sell" | "add" | "remove"

  • items[].walletstring | null

  • items[].valueUsdnumber | null

  • items[].amountsobject[]

Request
curl "https://api.lane.markets/v1/pools/1/activity"

Latest activity across all pools

GET/v1/activity

Query parameters

  • limitintegerdefault 50

Responses

200Activity

  • itemsobject[]

  • items[].txstring

  • items[].blockinteger

  • items[].timeinteger

  • items[].poolstring

  • items[].type"buy" | "sell" | "add" | "remove"

  • items[].walletstring | null

  • items[].valueUsdnumber | null

  • items[].amountsobject[]

Request
curl "https://api.lane.markets/v1/activity"

WebSocket: send {"pools": [...]} or {"all": true}, receive {"items": [...]}

WS/v1/ws/activity

Responses

101Switching protocols

WebSocket
const ws = new WebSocket("wss://api.lane.markets/v1/ws/activity");
ws.onopen = () => ws.send(JSON.stringify({ subscribe: ["HYPE", "0x7D29d8047B905000459c0E80c34a26CeedcB47b2"] }));
ws.onmessage = (event) => console.log(JSON.parse(event.data).prices);
lane.markets · Make the most of every move.