multichain_address_activity
Analyze wallet activity across multiple blockchain networks to identify active chains, transaction counts, and activity timestamps with a single API call.
Instructions
Commonly used to locate chains which an address is active on with a single API call. Requires walletAddress. Optional parameter testnets (default false) determines whether to include testnet activity. Returns a comprehensive summary of chain activity including transaction counts, first/last activity timestamps, and activity status across all networks.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| walletAddress | Yes | The wallet address to analyze activity for. Passing in an ENS, RNS, Lens Handle, or an Unstoppable Domain resolves automatically. | |
| testnets | No | Whether to include testnet activity in the analysis. Default is false (mainnet only). |
Implementation Reference
- src/services/AllChainsService.ts:209-252 (handler)Registration and handler implementation for the multichain_address_activity tool. It uses the Covalent GoldRush SDK's AllChainsService.getAddressActivity method.
server.tool( "multichain_address_activity", "Commonly used to locate chains which an address is active on with a single API call. " + "Requires walletAddress. Optional parameter testnets (default false) " + "determines whether to include testnet activity. " + "Returns a comprehensive summary of chain activity including transaction counts, " + "first/last activity timestamps, and activity status across all networks.", { walletAddress: z .string() .describe( "The wallet address to analyze activity for. Passing in an ENS, RNS, Lens Handle, or an Unstoppable Domain resolves automatically." ), testnets: z .boolean() .optional() .default(false) .describe( "Whether to include testnet activity in the analysis. Default is false (mainnet only)." ), }, async (params) => { try { const response = await goldRushClient.AllChainsService.getAddressActivity( params.walletAddress, { testnets: params.testnets } ); return { content: [ { type: "text", text: stringifyWithBigInt(response.data), }, ], }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error}` }], isError: true, }; } } );