Open positions in a pool
const url = 'https://api.getchord.xyz/v1/lp/pools/example/positions?chain=5042&limit=20';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.getchord.xyz/v1/lp/pools/example/positions?chain=5042&limit=20'Managed positions (V3 NPM / V4 PositionManager NFTs) open in the pool, largest first, valued live.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.
Query Parameters
Section titled “Query Parameters”Chain id: 5042 Arc · 4663 Robinhood Chain · 143 Monad.
Responses
Section titled “ Responses ”object
A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.
object
EVM address, hex, case-insensitive.
A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.
EVM address, hex, case-insensitive.
EVM address, hex, case-insensitive.
EVM address, hex, case-insensitive.
Dollars added.
Dollars removed.
Fees collected.
Unix time, seconds, UTC.
Unix time, seconds, UTC.
Unix time, seconds, UTC.
Live value of the liquidity (open positions).
Uncollected fees (V3).
Liquidity leg only.
Distance from the price to the nearest range edge, percent.
Opened and closed within seconds — a swap trick, shown but not scored.
Dollars out exceed dollars in by far — the tape missed an add; shown, never scored.
Unix time, milliseconds — when the server built this answer.
Example
{ "chain": 5042, "pool": "0xf53f02d9041d00bbd92235b4c902b9f350c554a8ed2dc64fa0a4585aac413f09", "positions": [ { "manager": "0x6049c9a0e26405c0985f9e3685c87d0ae917f82b", "tokenId": "187740", "pool": "0xf53f02d9041d00bbd92235b4c902b9f350c554a8ed2dc64fa0a4585aac413f09", "dex": "uniswap_v4", "kind": "v4", "owner": "0x25cacb704ed0852428e7cc0687bca45ee8c21848", "token": "0x8faae5592b9acc27a79fca745c6b872adf514a5d", "anchor": "0x3600000000000000000000000000000000000000", "tickLower": 331254, "tickUpper": 375408, "symbol": "MURMUR", "anchorSymbol": "USDC", "logo": "https://cdn.dexscreener.com/cms/images/QUq-IqT1GLQNkxMx?width=800&height=800&quality=95&format=auto", "inUsd": 5763.889211498252, "outUsd": 0, "feesUsd": 0, "adds": 1, "removes": 0, "collects": 0, "openedTs": 1789695461, "lastTs": 1789695461, "closedTs": null, "burned": false, "status": "open", "valueUsd": 5408.735694717618, "uncollectedUsd": 2141.275199916123, "inRange": true, "edgePct": 427.51, "pnlUsd": 1786.1216831354886, "pnlPct": 30.988133491053144, "ageHours": 54.55777777777778, "jit": false, "unreconciled": false }, { "manager": "0x6049c9a0e26405c0985f9e3685c87d0ae917f82b", "tokenId": "223792", "pool": "0xf53f02d9041d00bbd92235b4c902b9f350c554a8ed2dc64fa0a4585aac413f09", "dex": "uniswap_v4", "kind": "v4", "owner": "0x2e41ff7889197ceab7ca505fe08fb54a9da07ab8", "token": "0x8faae5592b9acc27a79fca745c6b872adf514a5d", "anchor": "0x3600000000000000000000000000000000000000", "tickLower": 336204, "tickUpper": 357291, "symbol": "MURMUR", "anchorSymbol": "USDC", "logo": "https://cdn.dexscreener.com/cms/images/QUq-IqT1GLQNkxMx?width=800&height=800&quality=95&format=auto", "inUsd": 797.4331141591955, "outUsd": 0, "feesUsd": 0, "adds": 1, "removes": 0, "collects": 0, "openedTs": 1789888226, "lastTs": 1789888226, "closedTs": null, "burned": false, "status": "open", "valueUsd": 752.4410624979616, "uncollectedUsd": 5.447723353719422, "inRange": true, "edgePct": 156.14, "pnlUsd": -39.544328307514434, "pnlPct": -4.958952369216512, "ageHours": 1.0119444444444445, "jit": false, "unreconciled": false } ], "updatedAt": 1789891870022}Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).
Every non-2xx body.
object
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
For humans.
HTTP status, when included.
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}