wallet-portfolio

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.

Category
Visit Server

README

Wallet Portfolio Tracker API

MCP Server x402 License: MIT

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 value
  • tokens -- array of ERC-20 tokens with symbol, balance, USD value, contract address
  • totalValueUsd -- aggregate portfolio value in USD
  • chain -- 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 value
  • tokens -- array of ERC-20 tokens with symbol, balance, USD value, contract address
  • totalValueUsd -- aggregate portfolio value in USD
  • chain -- 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 value
  • usdcBalance -- USDC balance with USD value
  • chain -- 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 value
  • usdcBalance -- USDC balance with USD value
  • chain -- 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured