get_portfolio_wallet_endpoints
Retrieve endpoints for tracking wallet balances, transaction history, portfolio positions, and NFT holdings across protocols and chains. Enable financial auditing, multi-token analysis, and real-time monitoring for comprehensive wallet activity insights.
Instructions
Get all endpoints in the "Portfolio & Wallet" category. Endpoints for tracking user wallet balances, transaction history, portfolio positions across protocols and chains, net asset calculations, token holdings analysis, comprehensive wallet activity monitoring, real-time balance tracking, balance update history over time, multi-token portfolio analysis, balance changes with transaction context, financial auditing capabilities for individual users and addresses, wallet filtering and discovery, and NFT holdings tracking.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/dynamic-tools.ts:165-179 (handler)The handler function for the dynamic category tool 'get_portfolio_wallet_endpoints'. It calls getAllToolsInCategory to retrieve tools in 'Portfolio & Wallet' category and formats them into a response using asTextContentResult.handler: async ( args: Record<string, unknown> | undefined, ): Promise<any> => { const toolsInCategory = getAllToolsInCategory(category.category); return asTextContentResult({ category: category.category, description: category.description, tools: toolsInCategory.map((tool ) => ({ name: tool.name, description: tool.description })), }); }, };
- src/dynamic-tools.ts:160-164 (schema)Tool metadata and input schema (empty object) for the dynamic category tool 'get_portfolio_wallet_endpoints'.tool: { name: categoryEndpointName, description: `Get all endpoints in the "${category.category}" category. ${category.description}`, inputSchema: zodToInputSchema(categorySchema), },
- src/toolRegistry.ts:113-133 (registration)Registry entry defining the 'get_portfolio_wallet_endpoints' category name, description, and list of tools used to populate the tool response.{ "category": "Portfolio & Wallet", "name": "get_portfolio_wallet_endpoints", "description": "Endpoints for tracking user wallet balances, transaction history, portfolio positions across protocols and chains, net asset calculations, token holdings analysis, comprehensive wallet activity monitoring, real-time balance tracking, balance update history over time, multi-token portfolio analysis, balance changes with transaction context, financial auditing capabilities for individual users and addresses, wallet filtering and discovery, and NFT holdings tracking.", "tools": [ "user_history", "user_total_balance", "user_token_balances", "get_user_protocol", "get_detailed_protocol_list", "get_detailed_protocol_list_on_all_chain", "fetch_wallet_balances", "fetch_wallet_token_activity", "wallets_search_filter", "token_wallets_filter", "wallet_detailed_stats", "wallet_chart_data", "wallet_nft_collections_data", "wallet_collection_assets" ] },
- src/toolRegistry.ts:298-314 (helper)Helper function that matches tools from supportedTools against the category's tool list to provide the data for the handler.export function getAllToolsInCategory(category: string){ let categoryUsed = ToolRegistry.find(tool => tool.category === category); if(!categoryUsed){ return [] } const allWrappedTools = supportedTools // return all the tools from wrapped tools that are in the category (name match) let toolsInCategory = []; for (const tool of categoryUsed.tools){ const wrappedTool = allWrappedTools.find(wrappedTool => wrappedTool.name === tool); if(wrappedTool){ toolsInCategory.push(wrappedTool); } else console.log(`Tool ${tool} not found in wrapped tools`); } return toolsInCategory; }
- src/dynamic-tools.ts:182-182 (registration)Registration of all dynamic category tools, including 'get_portfolio_wallet_endpoints', into the tools array returned by dynamicTools function used by the MCP server.return [getEndpointTool, callEndpointTool, ...categoryTools];