Wallet DeFi Positions
DeFi Positions
Fetch DeFi Positions
Retrieve DeFi positions for a wallet across multiple protocols and chains
POST
Wallet DeFi Positions
Position Types
The response contains a flat array of positions initems. Each position has a position_type discriminator:
LP— Liquidity pool positions (Uniswap V2/V3/V4, PancakeSwap V3, SushiSwap V2/V3, Raydium CLMM, Meteora DLMM, Orca Whirlpool, and more)lending— Lending/borrowing positions (Aave V3, Compound V3, Morpho Blue, Term Finance, Kamino Lend, Loopscale)staked— Liquid-staking and restaking positions (Lido, Rocket Pool, EtherFi, Kelp, Mantle mETH, Swell, Benqi sAVAX, Kinetiq kHYPE, Symbiotic vaults, Pendle PT, Sanctum LSTs, Marinade, Jito, etc.)regular— Simple token holdings (Solana balances, Hyperliquid spot)perps— Perpetual futures positions (Hyperliquid)
Supported Chains
| Chain | Chain ID | Status |
|---|---|---|
arbitrum | ✅ Live | |
avalanche | ✅ Live | |
base | ✅ Live | |
bsc | ✅ Live | |
celo | ✅ Live | |
ethereum | ✅ Live | |
hyperevm | ✅ Live | |
hyperliquid | ✅ Live | |
loopscale | ✅ Live | |
mantle | ✅ Live | |
megaeth | ✅ Live | |
monad | ✅ Live | |
optimism | ✅ Live | |
polygon | ✅ Live | |
solana | ✅ Live | |
unichain | ✅ Live | |
x_layer | ✅ Live |
Supported Protocols
EVM — Concentrated-liquidity LPs (NFT positions)
| Protocol | Chains |
|---|---|
| Uniswap V3 | ethereum, arbitrum, optimism, polygon, base, bsc, avalanche, celo |
| Uniswap V4 | ethereum, arbitrum, optimism, polygon, base, bsc, avalanche, unichain |
| PancakeSwap V3 | ethereum, bsc, arbitrum, polygon, base |
| SushiSwap V3 | ethereum, arbitrum, polygon, bsc |
| FusionX V3 | mantle |
| Pharaoh | avalanche |
| QuickSwap V3 | polygon |
EVM — Lending
| Protocol | Chains |
|---|---|
| Aave V3 | ethereum (Main + Lido + EtherFi markets), arbitrum, optimism, polygon, base, avalanche, bsc |
| HyperLend (Aave V3 fork) | hyperevm |
| Compound V3 | ethereum, arbitrum, base, polygon, optimism |
| Morpho Blue | ethereum, base, polygon |
| Term Finance | ethereum |
EVM — V2 AMM / pool LPs
| Protocol | Chains |
|---|---|
| Uniswap V2 | ethereum |
| SushiSwap V2 | ethereum, arbitrum, polygon, bsc |
| Impossible Finance V2 | bsc |
| CoWSwap AMM | ethereum |
| Curve TwoCrypto (Yield Basis) | ethereum |
| Trader Joe V1 | avalanche |
| Valantis Sovereign | hyperevm |
EVM — Yield & restaking
| Protocol | Chains |
|---|---|
| Pendle (PT tokens) | ethereum, arbitrum |
| Symbiotic vaults | ethereum |
EVM — Liquid staking tokens (LSTs)
| Chain | LSTs |
|---|---|
| ethereum | Lido (wstETH, stETH), Rocket Pool (rETH), Coinbase (cbETH), Frax (sfrxETH), Mantle (mETH), Swell (swETH), EtherFi (weETH), Kelp (rsETH), Aave (stkAAVE, stkGHO), SushiBar (xSUSHI) |
| base | Lido (wstETH), Rocket Pool (rETH), Coinbase (cbETH), EtherFi (weETH) |
| arbitrum | Lido (wstETH), Rocket Pool (rETH), EtherFi (weETH) |
| optimism | Lido (wstETH), Rocket Pool (rETH) |
| polygon | Lido (wstETH) |
| avalanche | Benqi (sAVAX) |
| hyperevm | Kinetiq (kHYPE) |
Solana
| Category | Protocols |
|---|---|
| LP positions | Raydium CLMM, Meteora DLMM, Orca Whirlpool (V1 + V2), Byreal CLMM |
| Vault shares | Kamino Vault (live strategies, refreshed hourly from Kamino API), Jupiter LP (JLP) |
| Lending | Kamino Lend |
| Liquid staking | Marinade (mSOL), Jito (JitoSOL), BlazeStake (bSOL), Lido (stSOL), Sanctum INF, OKX (OKSOL), Jupiter (JupSOL), plus the full Sanctum LST registry (refreshed hourly) |
Hyperliquid
Full account state via Hyperliquid API — perps, spot holdings, and staking. No sub-protocols.Loopscale
Solana-based lending protocol — exposed as its own chain identifier.Important Notes
- USD value fields (
total_value_usd,token0_amount_usd,staked_amount_usd, etc.) may returnnullwhen price data is temporarily unavailable - Positions are sorted by type priority (lending > LP > staked > regular), then by USD value descending
- Each entry in the request array is an address/chain pair — to query the same address on multiple chains, include separate entries for each chain
- Up to 5 address/chain pairs may be submitted per request
- Use the returned
cursorquery parameter to paginate through large result sets - LST and Kamino vault registries are refreshed in the background, so new tokens become recognized without a deploy
Authorizations
Query Parameters
Max number of positions returned. Default is 25.
Required range:
x <= 100Cursor to request the next page of results.
Body
application/json
Response
Successful Response
Response envelope for wallet positions with pagination support.
items
(LPPosition · object | LendingPosition · object | VaultPosition · object | StakedPosition · object | PerpPosition · object | RegularPosition · object)[]
required
List of DeFi positions across all requested wallets
Liquidity provider position (e.g., Uniswap V3, Raydium CLMM, Meteora DLMM). Concentrated or standard AMM positions.
- LPPosition
- LendingPosition
- VaultPosition
- StakedPosition
- PerpPosition
- RegularPosition
Example:
{
"address": "0xab16781a13fe343a275f4bb5c883a64ceda52917",
"chain": "ethereum",
"fee_tier": "500",
"in_range": true,
"pool_address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"position_id": "uniswap_v3-ethereum-637818",
"position_type": "LP",
"protocol": "uniswap_v3",
"token0": {
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"chain": "ethereum",
"decimals": 6,
"info": { "name": "USD Coin", "symbol": "USDC" },
"object": "token",
"type": "evm_erc20"
},
"token0_amount": "2100.543210",
"token0_amount_usd": "2100.54",
"token1": {
"address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"chain": "ethereum",
"decimals": 18,
"info": { "name": "Wrapped Ether", "symbol": "WETH" },
"object": "token",
"type": "evm_erc20"
},
"token1_amount": "1.234567890123456789",
"token1_amount_usd": "2421.33",
"total_value_usd": "4521.87",
"unclaimed_fees_token0": "3.210000",
"unclaimed_fees_token1": "0.001234567890123456",
"unclaimed_fees_usd": "5.63"
}Pagination cursor for the next page of results
Total number of positions across all pages