wallet-portfolio
Enables AI agents to fetch crypto wallet holdings across chains, including ETH, ERC-20 tokens, and USD values, with pay-per-call access via x402 micropayments.
README
Wallet Portfolio Tracker API
Full crypto wallet holdings across chains -- ETH, ERC-20 tokens, USD values. Portfolio tracking for agents. Pay-per-call via x402 (USDC on Base L2) -- no API key, no signup, no rate-limit wall.
Part of the klymax402 marketplace -- 100 x402 micropayment APIs for AI agents, one wallet, USDC on Base.
Quickstart -- MCP
Add to your MCP client config (Claude Desktop, Cursor, ElizaOS, etc.):
{
"mcpServers": {
"wallet-portfolio": {
"url": "https://wallet-portfolio.api.klymax402.com/mcp"
}
}
}
Quickstart -- HTTP (x402)
curl "https://wallet-portfolio.api.klymax402.com/api/portfolio?address=0x0000000000000000000000000000000000dEaD"
# -> 402 Payment Required, with an x402 payment challenge in the response body
Any x402-aware client (@x402/fetch, x402-agent-tools, ATXP) handles the 402 -> sign -> retry cycle automatically.
Tools
| Tool | Method | Path | Price | Description |
|---|---|---|---|---|
wallet_get_portfolio |
GET | /api/portfolio |
$0.008 | Get full portfolio with all token balances and USD values |
wallet_get_portfolio |
POST | /api/portfolio |
$0.008 | Get full portfolio with all token balances and USD values (POST variant) |
wallet_get_balance |
GET | /api/balance |
$0.003 | Get ETH and USDC balance only |
wallet_get_balance |
POST | /api/balance |
$0.003 | Get ETH and USDC balance only (POST variant) |
wallet_get_portfolio
Use this when you need to check a crypto wallet's holdings across chains. Returns a full portfolio breakdown in JSON.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
address |
string | yes | Wallet address (0x...) |
chain |
string | no | Blockchain network (default: base) |
Returns
nativeBalance-- ETH balance with USD valuetokens-- array of ERC-20 tokens with symbol, balance, USD value, contract addresstotalValueUsd-- aggregate portfolio value in USDchain-- which network was queried
Example response:
{"nativeBalance":{"symbol":"ETH","balance":"1.234","valueUsd":3827.50},"tokens":[{"symbol":"USDC","balance":"500.00","valueUsd":500.00}],"totalValueUsd":4327.50,"chain":"base"}
When to use: executing a swap to verify the wallet has sufficient balance. Essential for portfolio tracking, balance checks, and agent self-reporting.
Not for: gas prices (use gas_get_current_price), swap quotes (use dex_get_swap_quote), yield opportunities (use defi_find_best_yields).
wallet_get_portfolio
Use this when you need to check a crypto wallet's holdings across chains. Returns a full portfolio breakdown in JSON.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
address |
string | yes | Wallet address (0x...) |
chain |
string | no | Blockchain network (default: base) |
Returns
nativeBalance-- ETH balance with USD valuetokens-- array of ERC-20 tokens with symbol, balance, USD value, contract addresstotalValueUsd-- aggregate portfolio value in USDchain-- which network was queried
Example response:
{"nativeBalance":{"symbol":"ETH","balance":"1.234","valueUsd":3827.50},"tokens":[{"symbol":"USDC","balance":"500.00","valueUsd":500.00}],"totalValueUsd":4327.50,"chain":"base"}
When to use: executing a swap to verify the wallet has sufficient balance. Essential for portfolio tracking, balance checks, and agent self-reporting.
Not for: gas prices (use gas_get_current_price), swap quotes (use dex_get_swap_quote), yield opportunities (use defi_find_best_yields).
wallet_get_balance
Use 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.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
address |
string | yes | Wallet address (0x...) |
chain |
string | no | Blockchain network (default: base) |
Returns
ethBalance-- native ETH balance with USD valueusdcBalance-- USDC balance with USD valuechain-- which network was queried
Example response:
{"ethBalance":{"balance":"2.5","valueUsd":7750.00},"usdcBalance":{"balance":"1000.00","valueUsd":1000.00},"chain":"base"}
When to use: quick pre-trade balance verification when you only care about ETH and USDC. Faster and cheaper than wallet_get_portfolio.
Not for: full portfolio with all tokens (use wallet_get_portfolio), gas prices (use gas_get_current_price).
wallet_get_balance
Use 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.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
address |
string | yes | Wallet address (0x...) |
chain |
string | no | Blockchain network (default: base) |
Returns
ethBalance-- native ETH balance with USD valueusdcBalance-- USDC balance with USD valuechain-- which network was queried
Example response:
{"ethBalance":{"balance":"2.5","valueUsd":7750.00},"usdcBalance":{"balance":"1000.00","valueUsd":1000.00},"chain":"base"}
When to use: quick pre-trade balance verification when you only care about ETH and USDC. Faster and cheaper than wallet_get_portfolio.
Not for: full portfolio with all tokens (use wallet_get_portfolio), gas prices (use gas_get_current_price).
Example agent prompts
- "Check a crypto wallet's holdings across chains"
- "Check a crypto wallet's holdings across chains"
- "A quick check of a wallet's ETH and USDC balance only"
Payment
- Protocol: x402 -- HTTP-native pay-per-call, no signup, no API key
- Network: Base L2 (
eip155:8453) - Asset: USDC
- Facilitator: Coinbase CDP (primary), PayAI (fallback)
- Also reachable via ATXP (OAuth-wrapped x402, RFC 9728 protected-resource metadata)
Part of klymax402
100 x402 micropayment APIs for AI agents -- one wallet, USDC on Base, zero signup.
- Catalog: https://klymax402.com/llms.txt
- Full API reference: https://klymax402.com/llms-full.txt
- Live stats: https://klymax402.com/stats
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.