Uniswap V4 Positions
Return on-chain state for one or more Uniswap V4 (or PancakeSwap Infinity) positions, keyed by NFT token ID. Each entry includes the owning pool, range ticks, raw and decimal-adjusted token amounts, and the latest observed block.
ℹ️
Supported protocols: Uniswap V4 (uni) and PancakeSwap Infinity (pcs).
Get Position by NFT ID
Return data for one or more positions on a given chain and protocol.
curl -X GET \
"https://api.misti.app/v1/univ4/position \
?chain_id=1 \
&protocol=uni \
&nft_ids=123456 \
&nft_ids=789012" \
-H "x-api-key: YOUR_API_KEY"Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_id | number | Yes | The EVM chain ID (e.g., 1 for Ethereum mainnet). Table chain id |
protocol | string | Yes | Protocol discriminator: uni for Uniswap V4, pcs for PancakeSwap Infinity |
nft_ids | string | Yes | NFT token ID as a decimal string. Pass multiple nft_ids params for batch queries (max 20) |
Headers:
| Header | Description |
|---|---|
x-api-key | Your API key (msk_…) |
Response:
[
{
"chain_id": 1,
"protocol": "uni",
"manager_address": "0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e",
"nft_id": "123456",
"pool_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"owner_address": "0x123456789abcdef123456789abcdef123456789a",
"lower_tick": -54000,
"upper_tick": -52000,
"liquidity": "1234567890123456789",
"amount0": "1000000000000000000",
"amount0_d": "1.000000",
"amount1": "2345678901234567890",
"amount1_d": "2.345678",
"core_total_usd": 4567.89,
"ratio": 0.5234,
"block_number": "18500000",
"timestamp": "1697376645"
},
{
"chain_id": 1,
"protocol": "uni",
"manager_address": "0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e",
"nft_id": "789012",
"pool_id": "0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321",
"owner_address": "0x987654321fedcba987654321fedcba987654321b",
"lower_tick": -55000,
"upper_tick": -51000,
"liquidity": "987654321098765432",
"amount0": "800000000000000000",
"amount0_d": "0.800000",
"amount1": "1876543210987654321",
"amount1_d": "1.876543",
"core_total_usd": 3654.21,
"ratio": 0.4821,
"block_number": "18500000",
"timestamp": "1697376645"
}
]Position Fields:
| Field | Type | Description |
|---|---|---|
chain_id | number | EVM chain ID |
protocol | string | Protocol discriminator (uni or pcs) |
manager_address | string | Address of the Position Manager contract that minted the NFT |
nft_id | string | NFT token ID (uint256 as decimal string) |
pool_id | string | 32-byte Uniswap V4 pool ID the position belongs to |
owner_address | string | Current owner of the position NFT |
lower_tick | number | Lower tick of the position's range |
upper_tick | number | Upper tick of the position's range |
liquidity | string | Position liquidity |
amount0 / amount1 | string | Underlying token amounts (raw units) |
amount0_d / amount1_d | string | Underlying token amounts (decimal-adjusted) |
core_total_usd | number | Total value of the underlying tokens in USD |
ratio | number | Share of position value held in token0 (0 to 1) |
block_number | string | Block number of the latest update |
timestamp | string | Unix timestamp of the latest update |