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.