Liquidity

Backtest one range

One explicit price range replayed over the last days of candles in the token's pool: fees earned at the pool's real tier and the position's share, impermanent loss, exits, LP value versus hold.

get/lp/simulate

Request

  • Base URL: https://api.getchord.xyz/v1
  • URL: https://api.getchord.xyz/v1/lp/simulate
  • Auth: none declared

Query parameters

chain5042 | 4663 | 143 required

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

tokenstring required

EVM address, hex, case-insensitive.

lowernumber required

Lower price, USD.

uppernumber required

Upper price, USD (> lower).

amountUsdnumber
daysinteger
poolstring

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

Response

chaininteger
tokenstring

EVM address, hex, case-insensitive.

updatedAtinteger

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

poolstring

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

dexstring
feeBpsnumber nullable
tvlUsdnumber nullable
daysinteger
hoursinteger

Candles replayed.

hoursInRangeinteger
inRangePctnumber
exitsinteger

Times the price left the range.

lowernumber
uppernumber
unreliablestring nullable

Why the number should not be trusted, when it should not.

entryPricenumber
exitPricenumber
priceChangePctnumber
feesUsdnumber
lpValueEndUsdnumber
holdValueEndUsdnumber
ilUsdnumber

Impermanent loss (negative = loss).

netVsHoldUsdnumber
totalReturnUsdnumber
totalReturnPctnumber
feeAprPctnumber
capitalEfficiencynumber

Versus full range.

shareOfPoolPctnumber
shareModel'liquidity' | 'bins' | 'tvl'

What that share was measured against: the pool's in-range liquidity at its price now (V3 / V4 / Raydium CLMM), its active bin (Meteora DLMM), or its TVL counted as if spread over every price when the pool's depth could not be read (narrow ranges then read high).

notestring

Changes

No recorded changes to this operation across all 2 revisions of this API.