get_assets
Retrieve all native and token assets held by a wallet. Filter by network and convert values to a preferred display currency.
Instructions
Get all assets (native + tokens) held by the wallet.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Query assets for specific network (e.g., "polygon-mainnet" or CAIP-2 "eip155:137"). Use "all" for all networks. Required for EVM wallets; auto-resolved for Solana. | |
| display_currency | No | Display currency for asset value conversion (e.g. KRW, EUR). Defaults to server setting. | |
| wallet_id | No | Target wallet ID. Required for multi-wallet sessions; auto-resolved when session has a single wallet. |
Implementation Reference
- The registerGetAssets function registers the 'get_assets' tool on the MCP server. The handler makes a GET request to '/v1/wallet/assets' with optional query params: network, display_currency, wallet_id. Returns the result via toToolResult().
export function registerGetAssets(server: McpServer, apiClient: ApiClient, walletContext?: WalletContext): void { server.tool( 'get_assets', withWalletPrefix('Get all assets (native + tokens) held by the wallet.', walletContext?.walletName), { network: z.string().optional().describe('Query assets for specific network (e.g., "polygon-mainnet" or CAIP-2 "eip155:137"). Use "all" for all networks. Required for EVM wallets; auto-resolved for Solana.'), display_currency: z.string().optional().describe('Display currency for asset value conversion (e.g. KRW, EUR). Defaults to server setting.'), wallet_id: z.string().optional().describe('Target wallet ID. Required for multi-wallet sessions; auto-resolved when session has a single wallet.'), }, async (args) => { const params = new URLSearchParams(); if (args.network) params.set('network', args.network); if (args.display_currency) params.set('display_currency', args.display_currency); if (args.wallet_id) params.set('walletId', args.wallet_id); const qs = params.toString(); const result = await apiClient.get('/v1/wallet/assets' + (qs ? '?' + qs : '')); return toToolResult(result); }, ); } - Zod schema for get_assets tool input: network (optional string), display_currency (optional string), wallet_id (optional string).
{ network: z.string().optional().describe('Query assets for specific network (e.g., "polygon-mainnet" or CAIP-2 "eip155:137"). Use "all" for all networks. Required for EVM wallets; auto-resolved for Solana.'), display_currency: z.string().optional().describe('Display currency for asset value conversion (e.g. KRW, EUR). Defaults to server setting.'), wallet_id: z.string().optional().describe('Target wallet ID. Required for multi-wallet sessions; auto-resolved when session has a single wallet.'), }, - packages/mcp/src/server.ts:96-96 (registration)Tool registration call: registerGetAssets(server, apiClient, walletContext) invoked in createMcpServer().
registerGetAssets(server, apiClient, walletContext); - packages/mcp/src/server.ts:19-19 (registration)Import of registerGetAssets from './tools/get-assets.js'.
import { registerGetAssets } from './tools/get-assets.js'; - ApiClient.get() method used by the handler to issue the HTTP GET request. Delegates to the internal request() method which handles auth, 401, 503, network errors.
async get<T>(path: string): Promise<ApiResult<T>> { return this.request<T>('GET', path); }