Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt

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

The portfolio endpoint returns a user’s token balances across all chains Rhinestone supports. Use it to display a unified balance, check which tokens are available before creating an intent, or build balance-aware routing.

Fetch a portfolio

Pass a user address and your API key to get aggregated balances across all chains:
const baseUrl = "https://v1.orchestrator.rhinestone.dev";
const apiKey = "YOUR_RHINESTONE_API_KEY";
const accountAddress = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045";

const res = await fetch(
  `${baseUrl}/accounts/${accountAddress}/portfolio?filterEmpty=true`,
  {
    headers: {
      "x-api-key": apiKey,
      "x-api-version": "2026-04.blanc",
    },
  }
);

const { portfolio } = await res.json();
Each entry in portfolio is a token aggregated across chains: { symbol, chains: [{ chainId, address, decimals, amount }] }. Amounts are raw (apply decimals to display).
{
  "portfolio": [
    {
      "symbol": "USDC",
      "chains": [
        {
          "chainId": "eip155:8453",
          "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "decimals": 6,
          "amount": "500000"
        }
      ]
    }
  ]
}

Filter by chain or token

To scope results to specific chains, pass chainIds as a repeated query parameter using CAIP-2 ids:
const res = await fetch(
  `${baseUrl}/accounts/${accountAddress}/portfolio?chainIds=eip155:10&chainIds=eip155:8453&filterEmpty=true`,
  {
    headers: {
      "x-api-key": apiKey,
      "x-api-version": "2026-04.blanc",
    },
  }
);
To scope to specific tokens, pass chain:address pairs as repeated tokens parameters:
const usdcOptimism = "eip155:10:0x0b2c639c533813f4aa9d7837caf62653d097ff85";
const usdcBase = "eip155:8453:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";

const res = await fetch(
  `${baseUrl}/accounts/${accountAddress}/portfolio?tokens=${usdcOptimism}&tokens=${usdcBase}`,
  {
    headers: {
      "x-api-key": apiKey,
      "x-api-version": "2026-04.blanc",
    },
  }
);

Next steps

Getting a quote

Use the portfolio to determine which tokens to include in a quote request.