transactions_for_address
Fetch paginated transaction history for a blockchain wallet address, including decoded log events, across multiple supported networks.
Instructions
Commonly used to fetch the transactions involving an address including the decoded log events in a paginated fashion. Required: chainName (blockchain network), walletAddress (wallet address), page (page number). Optional: quoteCurrency, noLogs, blockSignedAtAsc (chronological order). Returns transactions for the specified page of results.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chainName | Yes | The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet'). | |
| walletAddress | Yes | The wallet address to get transactions for. Passing in an ENS, RNS, Lens Handle, or an Unstoppable Domain resolves automatically. | |
| page | Yes | Page number for pagination, starting from 0. Each page contains multiple transactions. | |
| quoteCurrency | No | Currency to quote transaction values in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency. | |
| noLogs | No | Exclude event logs from transactions for faster performance. Default is true. | |
| blockSignedAtAsc | No | Sort transactions in ascending chronological order. Default is false (newest first). |
Implementation Reference
- The handler function for the "transactions_for_address" tool, which invokes the Covalent GoldRush SDK's getPaginatedTransactionsForAddress method and formats the response.
async (params) => { try { const response = await goldRushClient.TransactionService.getPaginatedTransactionsForAddress( params.chainName as Chain, params.walletAddress, params.page, { quoteCurrency: params.quoteCurrency as Quote, noLogs: params.noLogs, blockSignedAtAsc: params.blockSignedAtAsc, } ); return { content: [ { type: "text", text: stringifyWithBigInt(response.data), }, ], }; } catch (err) { return { content: [{ type: "text", text: `Error: ${err}` }], isError: true, }; } } - Input schema definition using Zod for the "transactions_for_address" tool.
{ chainName: z .enum(Object.values(ChainName) as [string, ...string[]]) .describe( "The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')." ), walletAddress: z .string() .describe( "The wallet address to get transactions for. Passing in an ENS, RNS, Lens Handle, or an Unstoppable Domain resolves automatically." ), page: z .number() .describe( "Page number for pagination, starting from 0. Each page contains multiple transactions." ), quoteCurrency: z .enum(Object.values(validQuoteValues) as [string, ...string[]]) .optional() .describe( "Currency to quote transaction values in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency." ), noLogs: z .boolean() .optional() .default(true) .describe( "Exclude event logs from transactions for faster performance. Default is true." ), blockSignedAtAsc: z .boolean() .optional() .describe( "Sort transactions in ascending chronological order. Default is false (newest first)." ), }, - src/services/TransactionService.ts:171-176 (registration)Registration of the "transactions_for_address" tool within the MCP server instance.
server.tool( "transactions_for_address", "Commonly used to fetch the transactions involving an address including the decoded log events in a paginated fashion.\n" + "Required: chainName (blockchain network), walletAddress (wallet address), page (page number).\n" + "Optional: quoteCurrency, noLogs, blockSignedAtAsc (chronological order).\n" + "Returns transactions for the specified page of results.",