Skip to main content
TL;DR: Added lamports (rent fee) and tokenAccount (SPL account pubkey) fields to contracts_balances in the /api/1/wallet/portfolio endpoint for Solana tokens.

New Fields for Solana Token Balances

The Wallet Portfolio endpoint now includes two new fields in contracts_balances specifically for Solana SPL tokens:

New Response Fields

FieldTypeDescription
lamportsstring | nullRent lamports for the token account (returned when account is closed)
tokenAccountstring | nullSPL token account pubkey (needed for closing token accounts)
These fields are only populated for Solana SPL tokens (Token 2020 and Token 2022 programs). They will be null or absent for native SOL and non-Solana chains.

Example Response

{
  "data": {
    "total_wallet_balance": 1500.50,
    "wallets": ["5xG...abc"],
    "assets": [
      {
        "asset": {
          "name": "Jupiter",
          "symbol": "JUP",
          ...
        },
        "contracts_balances": [
          {
            "address": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
            "chainId": "solana:solana",
            "balance": 100.5,
            "balanceRaw": "100500000",
            "decimals": 6,
            "tokenType": "2020",
            "lamports": "2039280",
            "tokenAccount": "7xK...xyz"
          }
        ],
        ...
      }
    ]
  }
}

Use Cases

  • Token Account Closing: Use tokenAccount pubkey to close SPL token accounts and reclaim rent
  • Rent Estimation: Know exactly how many lamports (~0.002 SOL) will be returned when closing an account
  • Token 2022 Support: Variable rent for Token 2022 accounts is accurately reflected in lamports
  • No Extra RPC Calls: All data fetched in a single request, no need to derive ATAs or query account info

Technical Details

  • lamports: The rent-exempt minimum balance stored in the token account. For standard SPL tokens, this is approximately 0.00203928 SOL (2,039,280 lamports). Token 2022 accounts may have variable rent depending on extensions.
  • tokenAccount: The actual SPL token account address (not the mint). This is required for closing accounts because a wallet can have multiple token accounts per mint (non-ATA accounts).

Affected Endpoints