read.wallet.accounts
Read-onlyIdempotent
Retrieve all Arcadia Finance accounts associated with a wallet address to view account summaries including addresses and names.
Instructions
List all Arcadia accounts owned by a wallet address. Returns a summary of each account (address, name). Call read.account.info with a specific account_address for full details like health factor, collateral, and debt.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wallet_address | Yes | Wallet address to list accounts for | |
| chain_id | No | Chain ID: 8453 (Base) or 130 (Unichain) |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | Yes |
Implementation Reference
- src/tools/read/wallet.ts:211-231 (handler)The handler implementation for the read.wallet.accounts tool, which uses the Arcadia API client to fetch accounts for a wallet address on a specified chain.
async ({ wallet_address, chain_id }) => { try { const validChainId = validateChainId(chain_id); validateAddress(wallet_address, "wallet_address"); const result = await api.getAccounts(validChainId, wallet_address); return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }], structuredContent: result as Record<string, unknown>, }; } catch (err) { return { content: [ { type: "text" as const, text: `Error: ${err instanceof Error ? err.message : String(err)}`, }, ], isError: true, }; } }, - src/tools/read/wallet.ts:193-210 (registration)The registration block for the read.wallet.accounts tool, including its schema definition and tool description.
server.registerTool( "read.wallet.accounts", { annotations: { title: "List Wallet Accounts", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, description: "List all Arcadia accounts owned by a wallet address. Returns a summary of each account (address, name). Call read.account.info with a specific account_address for full details like health factor, collateral, and debt.", inputSchema: { wallet_address: z.string().describe("Wallet address to list accounts for"), chain_id: z.number().default(8453).describe("Chain ID: 8453 (Base) or 130 (Unichain)"), }, outputSchema: AccountListOutput, },