Crypto wallet API for 100+ chains

Token balances with fiat prices, transaction history in plain English, portfolio value over time and token approvals for any address. One API key across EVM chains, Bitcoin and Solana, so you build the wallet instead of the indexer.

demo.eth on Ethereum61 tokens, spam removed
Portfolio value
$1,075.97-1.11% 24h
Largest token balances for demo.eth
TokenBalanceValue
cETH4.97$231.75
DAI185.37$184.66
ETH0.07373$170.85
cDAI6,350$158.79
UNI11.66$83.37
FRONT4,082$75.16
One call to balances_v2, 1 credit. Snapshot from 29 Oct 2026.

Used by Fidelity, ThorWallet and Rainbow

  • Fidelity
  • ThorWallet
  • Rainbow
  • AtomicWallet
  • Atlas Wallet
  • OneKey
  • Den
  • EY
  • Consensys
  • Jump
  • Ondo
  • Matcha

Inside a token balances response

Every token in a token balances response carries about 20 fields. Three of them do most of the work on a wallet screen. Here is one item from the call behind the panel above, and what to do with each.

The response, as JSON
GET /v1/eth-mainnet/address/demo.eth/balances_v2/one of data.items
{  "contract_decimals": 18,  "contract_name": "Dai Stablecoin",  "contract_ticker_symbol": "DAI",  "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",  "supports_erc": ["erc20"],  "is_native_token": false,  "type": "stablecoin",  "is_spam": false,  "balance": "185374670707837000000",  "quote_rate": 0.99615,  "quote_rate_24h": 0.99776,  "quote": 184.66068,  "quote_24h": 184.9583,  "pretty_quote": "$184.66",  "pretty_quote_24h": "$184.96"}
One token from the balances_v2 response for demo.eth on Ethereum, with no-spam=true. 1 credit per call. Snapshot from 29 Oct 2026.

Transactions, classified in plain English

Add with-classification=true to a transactions call and every transaction comes back with a type, a category, a one-line description and the assets the wallet sent and received. That is an activity feed without writing a decoder for every protocol.

// data.items[n].classification
{
  "type": "swap",
  "category": "defi",
  "description": "Swapped 872.59 AERO for 0.279091760280112109 WETH.",
  "sent": [
    { "action": "token_sent", "amount": "872.59", "token": { … } },
    { "action": "paid_gas", "amount": "0.0000…", "token": { … } }
  ],
  "received": [
    { "action": "token_received", "amount": "0.2790…", "token": { … } }
  ]
}
# One query parameter on any transactions endpoint
GET /v1/{chainName}/address/{walletAddress}/transactions_v3/
    ?with-classification=true
  • Type for code, description for people

    A type such as swap, send_token, receive_token or add_liquidity, in a category such as defi, nft, transfer or lending. Branch on the type and show the description as it is.

  • From the wallet's side

    Sent and received amounts are adjusted for decimals, include gas, and are relative to the account you pass, so one transaction reads correctly for each party.

  • Smart accounts included

    For ERC-4337 user operations, the type describes the action inside the operation, with the smart account, bundler and paymaster alongside.

  • 23 chains, 0.05 credits

    Classification adds 0.05 credits per transaction on Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Smart Chain and 17 more chains.

Wallet data API, screen by screen

Each wallet screen maps to an endpoint or two. Credit costs are per call unless a row says per item.

  • Multichain token balances

    Find the chains an address has used in one call, then load its native and token balances with prices in 16 fiat currencies, logos and a spam flag on every token. Fetch up to 10 EVM chains in a single request.

  • Wallet transaction history

    Build an activity feed from classified transactions and decoded log events, so swaps, transfers and approvals arrive described, with names and parameters instead of raw topics. Query one chain, or up to 10 addresses on up to 10 chains in one call.

  • Portfolio value over time

    Chart what a wallet was worth each day, broken down by token, for 30 days by default or any window you set. Look up a token's price on any date for cost basis and PnL.

  • Token approvals

    List every approval a wallet has granted, grouped by token and spender, with the remaining allowance and the value at risk. That is the data behind a revoke screen or a warning before a risky signature.

  • Bitcoin and Solana wallets

    Read Bitcoin balances and transactions for a single address or an HD wallet, and SPL token balances on Solana, with the same API key.

MCP server and Agent Skills for wallet data

The hosted GoldRush MCP server gives Claude, Cursor and other MCP clients 37 tools, including token_balances, transactions_for_address, historical_portfolio_value and token_approvals. GoldRush Agent Skills give coding agents the endpoints, parameters and credit costs, so the code they write calls the API correctly. Both work in Claude Code and Cursor, among other agents, and agents without an API key can pay per request in stablecoins on Base through x402.

# MCP server: 37 tools, hosted by GoldRush
claude mcp add --transport http goldrush \
  https://mcp.goldrushdata.com/mcp \
  --header "Authorization: Bearer $GOLDRUSH_API_KEY"

# Agent Skills: Foundational API, x402 and CLI
npx skills add covalenthq/goldrush-agent-skills
  • Portfolio summary

    Each morning, compare a wallet's value with the day before and write up the biggest inflows, outflows and price moves.

  • Approval watch

    Check the wallets you follow for new approvals and flag spenders with value at risk.

  • Wallet watch

    Follow a list of wallets and report when one buys a new token or moves an unusual amount.

Wallet API vs raw JSON-RPC

A node answers one question about one chain per call, and has no index by address. Here is what each wallet screen takes on raw JSON-RPC, and what it takes on GoldRush.

GoldRush wallet API vs Raw JSON-RPC
Raw JSON-RPCGoldRush wallet API
Token balancesA balanceOf call per token per chain, after you find the token listOne call per chain, or up to 10 chains per call
Fiat valueA separate price feedquote and quote_24h on every balance, in 16 fiat currencies
Spam tokensYour own allow or deny listis_spam on every token, or no-spam=true to drop them
Transaction historyNo lookup by address: scan blocks or run an indexerLatest transactions for an address, newest first
What happenedWrite a decoder for each protocol's eventsA type, a category and a plain-English description
Event logsRaw topics and data, decoded with each contract's ABIDecoded name, signature and parameters
Portfolio historyArchive node reads at one block per dayDaily value by token, 30 days by default
ApprovalsScan Approval events, then read each allowanceApprovals by spender, with value at risk
NamesResolve ENS yourselfENS, RNS, Lens and Unstoppable Domains accepted as the address

Sources: token balances, multichain balances, transaction history, portfolio value and token approvals.

Security and SOC 2 compliance

GoldRush is SOC 2 Type 2 compliant. Data is encrypted at rest with AES-256 and in transit with TLS 1.2, and we work with security firms to take down phishing sites and impersonators.

AICPA SOC and SOC 2 Type 2 badges

Start free

Every account starts with a 14-day free trial: 25,000 API credits and 4 requests per second, with no credit card. A token balances call costs 1 credit, so the trial covers 25,000 balance lookups. Paid plans start at $10 a month.

Wallet API FAQ

An API that returns what a wallet holds and what it has done, without running nodes or an indexer: token balances, prices, transaction history and approvals for any address. GoldRush serves this over REST for 100+ chains, including EVM chains, Bitcoin and Solana.

Wallet API docs

Start here

Reference

Compare