Skip to main content
GET
/
portfolio
Get user portfolio with all pools containing closed positions
curl --request GET \
  --url https://dlmm.datapi.meteora.ag/portfolio
{
  "hasNext": true,
  "page": 1,
  "pageSize": 1,
  "pools": [
    {
      "baseFee": "<string>",
      "binStep": "<string>",
      "collectFeeMode": 1,
      "pnlPctChange": "<string>",
      "pnlSol": "<string>",
      "pnlSolPctChange": "<string>",
      "pnlUsd": "<string>",
      "poolAddress": "<string>",
      "tokenX": "<string>",
      "tokenXIcon": "<string>",
      "tokenXMint": "<string>",
      "tokenY": "<string>",
      "tokenYIcon": "<string>",
      "tokenYMint": "<string>",
      "totalDeposit": "<string>",
      "totalDepositSol": "<string>",
      "totalDepositTokenX": "<string>",
      "totalDepositTokenXSol": "<string>",
      "totalDepositTokenXUsd": "<string>",
      "totalDepositTokenY": "<string>",
      "totalDepositTokenYSol": "<string>",
      "totalDepositTokenYUsd": "<string>",
      "totalFee": "<string>",
      "totalFeeSol": "<string>",
      "totalFeeTokenX": "<string>",
      "totalFeeTokenXSol": "<string>",
      "totalFeeTokenXUsd": "<string>",
      "totalFeeTokenY": "<string>",
      "totalFeeTokenYSol": "<string>",
      "totalFeeTokenYUsd": "<string>",
      "totalWithdrawal": "<string>",
      "totalWithdrawalSol": "<string>",
      "totalWithdrawalTokenX": "<string>",
      "totalWithdrawalTokenXSol": "<string>",
      "totalWithdrawalTokenXUsd": "<string>",
      "totalWithdrawalTokenY": "<string>",
      "totalWithdrawalTokenYSol": "<string>",
      "totalWithdrawalTokenYUsd": "<string>",
      "lastClosedAt": 123
    }
  ],
  "totalCount": 1,
  "totalPositions": 1
}

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

Query Parameters

user
string
required

User's wallet address

page
integer<int32>

Page number for pagination (minimum: 1, default: 1)

Required range: x >= 0
page_size
integer<int32>

Page size for pagination (default: 20, maximum: 50)

Required range: x >= 0
days_back
integer<int32>

Only include pools with positions closed within this many days Applied only for closed positions (minimum: 1, maximum: 365, default: 120)

Required range: x >= 0

Response

200 - application/json

User portfolio response with aggregated pool data

hasNext
boolean
required
page
integer<int32>
required
Required range: x >= 0
pageSize
integer<int32>
required
Required range: x >= 0
pools
object[]
required
totalCount
integer<int64>
required
Required range: x >= 0
totalPositions
integer<int64>
required

Total number of closed positions across all pools

Required range: x >= 0