Get Solana Wallet Positions
List every token a Solana wallet holds. Returns native SOL plus all nonzero classic SPL and Token-2022 balances, each with its exact mint, owning token program, raw amount, decimals, and human-readable amount. Balances held across several token accounts for the same mint are summed. Returns NO prices or USD values — use get-solana-wallet-positions-usd when the caller needs what a wallet is worth. Ideal for: answering what a Solana wallet holds, and resolving a token symbol to the exact mint the wallet actually owns.
Catalog action Solana Onchain
List every token a Solana wallet holds. Returns native SOL plus all nonzero classic SPL and Token-2022 balances, each with its exact mint, owning token program, raw amount, decimals, and human-readable amount. Balances held across several token accounts for the same mint are summed. Returns NO prices or USD values — use get-solana-wallet-positions-usd when the caller needs what a wallet is worth. Ideal for: answering what a Solana wallet holds, and resolving a token symbol to the exact mint the wallet actually owns.
At a Glance
| Field | Value |
|---|---|
| Action ID | get-solana-wallet-positions |
| Category | Solana Onchain |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | solana, spl, token, balance, positions, portfolio, query, read, wallet |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Solana wallet address to enumerate holdings for (base58 encoded) |
chainId | number | Yes | Solana network (Mainnet or Devnet) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | The wallet address that was enumerated |
chainId | number | Yes | Solana network the balances were read from |
positions | array | Yes | Every nonzero holding the wallet owns, one row per mint |
Examples
json{ "type": "get-solana-wallet-positions", "payload": { "address": "7v91N7iZ9mNicL8WfG6cgSCKyRXydQjLh6UYBWwm6y1Q", "chainId": 7565164 }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/get-solana-wallet-positions/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "address": "7v91N7iZ9mNicL8WfG6cgSCKyRXydQjLh6UYBWwm6y1Q", "chainId": 7565164 }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
