Notus API
Liquidity pools

Estimate Future Position APR

Estimates APR for a future Uniswap V3 position using provided amounts, prices, and pool/range inputs.

POST
/api/v1/liquidity/estimate-apr
x-api-key<token>

In: header

liquidityProvider?string

Optional liquidity provider. If omitted, defaults to Uniswap v3.

Value in"UNISWAP_V3"
chainIdnumber

The blockchain network where APR will be estimated. Supported EVM chains:

  • Arbitrum One: 42161
  • Avalanche: 43114
  • Base: 8453
  • BNB Smart Chain: 56
  • Ethereum: 1
  • Gnosis: 100
  • OP Mainnet: 10
  • Polygon: 137
token0string

Address of token0 in the target pool.

Match^0x[a-fA-F0-9]{40}$
token1string

Address of token1 in the target pool.

Match^0x[a-fA-F0-9]{40}$
token0Amountstring
token1Amountstring
poolFeePercentnumber

Pool fee percent (e.g. 0.3, 1).

Range0.01 <= value <= 100
minPricenumber

Minimum active price bound for the future position.

Range0 <= value
maxPricenumber

Maximum active price bound for the future position.

Range0 <= value

Response Body

curl -X POST "https://api.notuslabs.xyz/api/v1/liquidity/estimate-apr" \  -H "Content-Type: application/json" \  -d '{    "chainId": 42161,    "token0": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",    "token1": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",    "token0Amount": "10.5",    "token1Amount": "2500",    "poolFeePercent": 0.3,    "minPrice": 83475.12,    "maxPrice": 102300.5  }'
{
  "estimatedApr": "12.34"
}
{
  "statusCode": 400,
  "id": "NOT_AUTHORIZED_TOKENS",
  "message": ""
}
{
  "statusCode": 403,
  "id": "UNAVAILABLE_COMPUTE_UNITS",
  "message": "The project doesn't have enough compute units to perform this action. Please upgrade your plan."
}