Skip to main content
POST
/
api
/
v1
/
developer
/
wallet
/
positions
Wallet DeFi Positions
curl --request POST \
  --url https://api.allium.so/api/v1/developer/wallet/positions \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "addresses": [
    "<string>"
  ],
  "chains": [
    "<string>"
  ]
}
'
{
  "items": [
    {
      "position_type": "<string>",
      "chain": "<string>",
      "address": "<string>",
      "position_id": "<string>",
      "protocol": "<string>",
      "pool_address": "<string>",
      "token0": {
        "chain": "<string>",
        "address": "<string>",
        "object": "token",
        "type": "<string>",
        "price": 123,
        "decimals": 123,
        "info": {
          "name": "<string>",
          "symbol": "<string>"
        }
      },
      "token1": {
        "chain": "<string>",
        "address": "<string>",
        "object": "token",
        "type": "<string>",
        "price": 123,
        "decimals": 123,
        "info": {
          "name": "<string>",
          "symbol": "<string>"
        }
      },
      "token0_amount": "<string>",
      "token1_amount": "<string>",
      "total_value_usd": "<string>",
      "fee_tier": "<string>",
      "in_range": true,
      "token0_amount_usd": "<string>",
      "token1_amount_usd": "<string>",
      "unclaimed_fees_token0": "<string>",
      "unclaimed_fees_token1": "<string>",
      "unclaimed_fees_usd": "<string>"
    }
  ],
  "cursor": "<string>",
  "total": 123
}
This is a beta endpoint currently under active development. We’re working to stabilize the API and will minimize breaking changes wherever possible, but they may still occur as we refine the interface.For production support or migration assistance, reach out at hello@allium.so.

Position Types

The response contains a flat array of positions in items. Each position has a position_type discriminator:
  • LP — Liquidity pool positions (Uniswap V2/V3/V4, PancakeSwap V3)
  • lending — Lending/borrowing positions (Aave V3, Compound V3)
  • staked — Staking positions (Lido, etc.)
  • regular — Simple token holdings (Solana balances)

Supported Chains

ChainChain IDStatus
Arbitrumarbitrum🌱 Beta
Avalancheavalanche🌱 Beta
Basebase🌱 Beta
Blastblast🌱 Beta
BSCbsc🌱 Beta
Celocelo🌱 Beta
Ethereumethereum🌱 Beta
MegaETHmegaeth🌱 Beta
Monadmonad🌱 Beta
Optimismoptimism🌱 Beta
Plasmaplasma🌱 Beta
Polygonpolygon🌱 Beta
Solanasolana🌱 Beta
Soneiumsoneium🌱 Beta
Unichainunichain🌱 Beta
World Chainworldchain🌱 Beta
X Layerx_layer🌱 Beta
zkSynczksync🌱 Beta
Zorazora🌱 Beta

Important Notes

  • USD value fields (total_value_usd, token0_amount_usd, staked_amount_usd, etc.) may return null when price data is temporarily unavailable
  • Positions are sorted by type priority (lending > LP > staked > regular), then by USD value descending
  • Use the chains body parameter to filter by specific chains and reduce response size
  • Use the returned cursor query parameter to paginate through large result sets

Authorizations

X-API-KEY
string
header
required

Query Parameters

limit
integer
default:25

Maximum number of positions to return per page.

Required range: x <= 100
cursor
string | null

Pagination cursor from previous response.

Body

application/json
addresses
string[]
required

Wallet addresses to get positions for. Supports EVM (0x...) and Solana addresses.

Required array length: 1 - 5 elements
chains
string[] | null

Filter positions by specific chains. If omitted, all supported chains are queried.

Response

Successful Response

items
(LPPosition · object | LendingPosition · object | StakedPosition · object | RegularPosition · object)[]
required

Array of position objects

cursor
string | null

Cursor for fetching the next page. null if no more results.

total
integer | null

Total number of positions, if available.