Token balances, NFT metadata, and transfer history across 100+ chains. No indexing, no subgraphs, no infrastructure to manage. Query any onchain data with a single REST call.
Bootnode Data APIs handle the complex indexing, caching, and normalization so you never have to decode raw logs or parse transaction receipts again.
Retrieve ERC-20 and native token balances, metadata, historical prices, and allowances for any address on any supported chain. A single call returns everything your portfolio view needs.
curl "https://api.bootnode.dev/v1/tokens/balances?\
address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&\
chains=ethereum,base,arbitrum" \
-H "X-API-Key: YOUR_API_KEY"
{
"address": "0xd8dA6BF2...",
"balances": [
{
"chain": "ethereum",
"token": "0xA0b8...ec7",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"balance": "125430000000",
"balanceFormatted": "125430.0",
"priceUsd": 1.0001,
"valueUsd": 125442.53
},
{
"chain": "ethereum",
"token": "native",
"symbol": "ETH",
"decimals": 18,
"balance": "4200000000000000000",
"balanceFormatted": "4.2",
"priceUsd": 3245.67,
"valueUsd": 13631.81
}
],
"totalValueUsd": 139074.34
}curl "https://api.bootnode.dev/v1/nfts/owned?\
address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&\
chain=ethereum&limit=2" \
-H "X-API-Key: YOUR_API_KEY"
{
"address": "0xd8dA6BF2...",
"chain": "ethereum",
"nfts": [
{
"contract": "0xBC4CA0...a426f2",
"tokenId": "8520",
"standard": "ERC-721",
"collection": "Bored Ape Yacht Club",
"name": "BAYC #8520",
"image": "https://media.bootnode.dev/ipfs/Qm...",
"attributes": [
{ "trait_type": "Fur", "value": "Dark Brown" },
{ "trait_type": "Eyes", "value": "Bored" }
],
"floorPrice": { "value": "12.4", "currency": "ETH" }
}
],
"totalCount": 47,
"cursor": "eyJsYXN0X2lk..."
}Fetch NFTs owned by any address, collection metadata, individual token details, and transfer history. Media files from IPFS and Arweave are resolved and cached through our CDN for instant loading.
Query the complete transfer history for any address, contract, or token. Filter by direction, asset type, block range, or counterparty. Results include decoded event data and USD values at time of transfer.
curl "https://api.bootnode.dev/v1/transfers?\
address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&\
chain=ethereum&category=erc20&limit=2" \
-H "X-API-Key: YOUR_API_KEY"
{
"transfers": [
{
"hash": "0x3a1b...",
"blockNumber": 19234567,
"timestamp": "2025-01-15T14:23:01Z",
"from": "0xd8dA6BF2...",
"to": "0x7a250d56...",
"category": "erc20",
"token": {
"address": "0xA0b8...ec7",
"symbol": "USDC",
"decimals": 6
},
"value": "50000000000",
"valueFormatted": "50000.0",
"valueUsd": 50005.0
}
],
"cursor": "eyJibG9ja..."
}Every endpoint accepts a chains parameter. Query Ethereum, Base, Arbitrum, Polygon, and 96 more networks with the same request format and API key.
Data is available within seconds of block confirmation. No waiting for subgraph sync or indexer catch-up. You always get the latest state.
Filter by token address, block range, transfer direction, asset category, and more. Get exactly the data you need without client-side post-processing.
Consistent JSON schemas across all chains. Token decimals are always formatted, addresses are checksummed, and timestamps follow ISO 8601.
Known spam tokens and phishing NFTs are automatically filtered. Opt in or out of spam filtering per request with a single query parameter.
Query multiple addresses or tokens in a single request. Reduce round trips by up to 100x when building portfolio views or dashboards.
Replace your indexing pipeline with a single API call. Free tier includes 100M compute units per month and access to all Data APIs.