Odel
Wallet Portfolio Tracker API

Wallet Portfolio Tracker API

@br0ski777TypeScriptMITUpdated 4 days ago

Crypto wallet balances, ERC-20 tokens, USD values across Base and Ethereum. x402.

Server endpointStreamable HTTPNo authProbed

Registry lists this as SSE; the live endpoint answered over Streamable HTTP.

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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

ToolMethodPathPriceDescription
wallet_get_portfolioGET/api/portfolio$0.008Get full portfolio with all token balances and USD values
wallet_get_portfolioPOST/api/portfolio$0.008Get full portfolio with all token balances and USD values (POST variant)
wallet_get_balanceGET/api/balance$0.003Get ETH and USDC balance only
wallet_get_balancePOST/api/balance$0.003Get 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

NameTypeRequiredDescription
addressstringyesWallet address (0x...)
chainstringnoBlockchain 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

NameTypeRequiredDescription
addressstringyesWallet address (0x...)
chainstringnoBlockchain 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

NameTypeRequiredDescription
addressstringyesWallet address (0x...)
chainstringnoBlockchain 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

NameTypeRequiredDescription
addressstringyesWallet address (0x...)
chainstringnoBlockchain 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.

License

MIT