Skip to content

A pool's providers by profit

GET
/lp/pools/{pool}/lps
curl --request GET \
--url 'https://api.getchord.xyz/v1/lp/pools/example/lps?chain=5042&limit=20'

The wallets that provided to one pool, most profitable first. Profit is the wallet board’s: value out + fees − value in on closed positions, plus the fees of open ones. Scored like the board: positions of minIn dollars or more, none that opened and closed inside a minute, none the tape could not reconcile. total counts the wallets with a scored position in the pool.

Use it for: “who earns in this pool”, a provider table on a pool page.

pool
required

A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.

string
/^0x([a-fA-F0-9]{40}|[a-fA-F0-9]{64})$/
chain
required
integer
Allowed values: 5042 4663 143

Chain id: 5042 Arc · 4663 Robinhood Chain · 143 Monad.

limit
integer
default: 20 >= 1 <= 100

Out of range is 400 BAD_LIMIT.

Media typeapplication/json
object
chain
integer
pool

A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.

string
/^0x([a-fA-F0-9]{40}|[a-fA-F0-9]{64})$/
minIn

Dollars in under this are not scored.

number
total

Wallets with a scored position in the pool.

integer
rows
Array<object>
object
wallet

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
positions
integer
open
integer
closed
integer
wins
integer
winRatePct

Null with no closed position.

number | null
profitUsd
number
feesUsd
number
inUsd

Dollars the wallet put into the pool, summed over its positions.

number
avgAgeHours
number | null
lastTs

Unix time, seconds, UTC.

integer
updatedAt

Unix time, milliseconds — when the server built this answer.

integer
Example
{
"chain": 5042,
"pool": "0xf53f02d9041d00bbd92235b4c902b9f350c554a8ed2dc64fa0a4585aac413f09",
"minIn": 20,
"total": 60,
"rows": [
{
"wallet": "0x5db28691cbfc2ceeca1d919f0749b64013c25432",
"positions": 2,
"open": 0,
"closed": 2,
"wins": 1,
"winRatePct": 50,
"profitUsd": 898.4072651256388,
"feesUsd": 1473.5195824012221,
"inUsd": 4971.427097120565,
"avgAgeHours": 85.54625,
"lastTs": 1790521219
},
{
"wallet": "0x2e41ff7889197ceab7ca505fe08fb54a9da07ab8",
"positions": 2,
"open": 0,
"closed": 2,
"wins": 2,
"winRatePct": 100,
"profitUsd": 602.4129568209053,
"feesUsd": 431.0974968623506,
"inUsd": 1101.9782460581446,
"avgAgeHours": 66.98930555555556,
"lastTs": 1790168420
}
],
"updatedAt": 1791831160142
}

Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).

Media typeapplication/json

Every non-2xx body.

object
error
required

Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.

string
message

For humans.

string
statusCode

HTTP status, when included.

integer
Example
{
"error": "INVALID_PARAMS",
"message": "amount must be an integer string in the token's smallest unit"
}