{
  "markdown": "# Wallet Portfolio Tracker API\n\n[![MCP Server](https://img.shields.io/badge/MCP-server-blue)](https://wallet-portfolio.api.klymax402.com/mcp)\n[![x402](https://img.shields.io/badge/payments-x402-6E56CF)](https://x402.org)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n\nFull crypto wallet holdings across chains -- ETH, ERC-20 tokens, USD values. Portfolio tracking for agents. Pay-per-call via [x402](https://x402.org) (USDC on Base L2) -- no API key, no signup, no rate-limit wall.\n\nPart of the [klymax402](https://klymax402.com) marketplace -- 100 x402 micropayment APIs for AI agents, one wallet, USDC on Base.\n\n## Quickstart -- MCP\n\nAdd to your MCP client config (Claude Desktop, Cursor, ElizaOS, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"wallet-portfolio\": {\n      \"url\": \"https://wallet-portfolio.api.klymax402.com/mcp\"\n    }\n  }\n}\n```\n\n## Quickstart -- HTTP (x402)\n\n```bash\ncurl \"https://wallet-portfolio.api.klymax402.com/api/portfolio?address=0x0000000000000000000000000000000000dEaD\"\n# -> 402 Payment Required, with an x402 payment challenge in the response body\n```\n\nAny x402-aware client ([`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch), [`x402-agent-tools`](https://www.npmjs.com/package/x402-agent-tools), ATXP) handles the 402 -> sign -> retry cycle automatically.\n\n## Tools\n\n| Tool | Method | Path | Price | Description |\n|---|---|---|---|---|\n| `wallet_get_portfolio` | GET | `/api/portfolio` | $0.008 | Get full portfolio with all token balances and USD values |\n| `wallet_get_portfolio` | POST | `/api/portfolio` | $0.008 | Get full portfolio with all token balances and USD values (POST variant) |\n| `wallet_get_balance` | GET | `/api/balance` | $0.003 | Get ETH and USDC balance only |\n| `wallet_get_balance` | POST | `/api/balance` | $0.003 | Get ETH and USDC balance only (POST variant) |\n\n### `wallet_get_portfolio`\n\nUse this when you need to check a crypto wallet's holdings across chains. Returns a full portfolio breakdown in JSON.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `address` | string | yes | Wallet address (0x...) |\n| `chain` | string | no | Blockchain network (default: base) |\n\n**Returns**\n\n- `nativeBalance` -- ETH balance with USD value\n- `tokens` -- array of ERC-20 tokens with symbol, balance, USD value, contract address\n- `totalValueUsd` -- aggregate portfolio value in USD\n- `chain` -- which network was queried\n\nExample response:\n\n```json\n{\"nativeBalance\":{\"symbol\":\"ETH\",\"balance\":\"1.234\",\"valueUsd\":3827.50},\"tokens\":[{\"symbol\":\"USDC\",\"balance\":\"500.00\",\"valueUsd\":500.00}],\"totalValueUsd\":4327.50,\"chain\":\"base\"}\n```\n\n**When to use**: executing a swap to verify the wallet has sufficient balance. Essential for portfolio tracking, balance checks, and agent self-reporting.\n\n**Not for**: gas prices (use `gas_get_current_price`), swap quotes (use `dex_get_swap_quote`), yield opportunities (use `defi_find_best_yields`).\n\n### `wallet_get_portfolio`\n\nUse this when you need to check a crypto wallet's holdings across chains. Returns a full portfolio breakdown in JSON.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `address` | string | yes | Wallet address (0x...) |\n| `chain` | string | no | Blockchain network (default: base) |\n\n**Returns**\n\n- `nativeBalance` -- ETH balance with USD value\n- `tokens` -- array of ERC-20 tokens with symbol, balance, USD value, contract address\n- `totalValueUsd` -- aggregate portfolio value in USD\n- `chain` -- which network was queried\n\nExample response:\n\n```json\n{\"nativeBalance\":{\"symbol\":\"ETH\",\"balance\":\"1.234\",\"valueUsd\":3827.50},\"tokens\":[{\"symbol\":\"USDC\",\"balance\":\"500.00\",\"valueUsd\":500.00}],\"totalValueUsd\":4327.50,\"chain\":\"base\"}\n```\n\n**When to use**: executing a swap to verify the wallet has sufficient balance. Essential for portfolio tracking, balance checks, and agent self-reporting.\n\n**Not for**: gas prices (use `gas_get_current_price`), swap quotes (use `dex_get_swap_quote`), yield opportunities (use `defi_find_best_yields`).\n\n### `wallet_get_balance`\n\nUse this when you need a quick check of a wallet's ETH and USDC balance only. Returns a lightweight JSON response -- cheaper than full portfolio.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `address` | string | yes | Wallet address (0x...) |\n| `chain` | string | no | Blockchain network (default: base) |\n\n**Returns**\n\n- `ethBalance` -- native ETH balance with USD value\n- `usdcBalance` -- USDC balance with USD value\n- `chain` -- which network was queried\n\nExample response:\n\n```json\n{\"ethBalance\":{\"balance\":\"2.5\",\"valueUsd\":7750.00},\"usdcBalance\":{\"balance\":\"1000.00\",\"valueUsd\":1000.00},\"chain\":\"base\"}\n```\n\n**When to use**: quick pre-trade balance verification when you only care about ETH and USDC. Faster and cheaper than wallet_get_portfolio.\n\n**Not for**: full portfolio with all tokens (use `wallet_get_portfolio`), gas prices (use `gas_get_current_price`).\n\n### `wallet_get_balance`\n\nUse this when you need a quick check of a wallet's ETH and USDC balance only. Returns a lightweight JSON response -- cheaper than full portfolio.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `address` | string | yes | Wallet address (0x...) |\n| `chain` | string | no | Blockchain network (default: base) |\n\n**Returns**\n\n- `ethBalance` -- native ETH balance with USD value\n- `usdcBalance` -- USDC balance with USD value\n- `chain` -- which network was queried\n\nExample response:\n\n```json\n{\"ethBalance\":{\"balance\":\"2.5\",\"valueUsd\":7750.00},\"usdcBalance\":{\"balance\":\"1000.00\",\"valueUsd\":1000.00},\"chain\":\"base\"}\n```\n\n**When to use**: quick pre-trade balance verification when you only care about ETH and USDC. Faster and cheaper than wallet_get_portfolio.\n\n**Not for**: full portfolio with all tokens (use `wallet_get_portfolio`), gas prices (use `gas_get_current_price`).\n\n## Example agent prompts\n\n- \"Check a crypto wallet's holdings across chains\"\n- \"Check a crypto wallet's holdings across chains\"\n- \"A quick check of a wallet's ETH and USDC balance only\"\n\n## Payment\n\n- Protocol: [x402](https://x402.org) -- HTTP-native pay-per-call, no signup, no API key\n- Network: Base L2 (`eip155:8453`)\n- Asset: USDC\n- Facilitator: Coinbase CDP (primary), PayAI (fallback)\n- Also reachable via [ATXP](https://atxp.ai) (OAuth-wrapped x402, RFC 9728 protected-resource metadata)\n\n## Part of klymax402\n\n100 x402 micropayment APIs for AI agents -- one wallet, USDC on Base, zero signup.\n\n- Catalog: https://klymax402.com/llms.txt\n- Full API reference: https://klymax402.com/llms-full.txt\n- Live stats: https://klymax402.com/stats\n\n## License\n\nMIT\n",
  "bytes": 6659,
  "sha": "066bfbce5eb36dcaa858fde316ccbcf0154f2f5d43f38f43c0741e0cb9047d2f",
  "repo_slug": "br0ski777/wallet-portfolio-x402",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_br0ski777_wallet_portfolio_05be6b4f/readme"
}