{"id":"10689abc-7560-40ce-9d92-b308998e0b7b","shortId":"WV7mug","kind":"skill","title":"check-crypto-address-balance","tagline":"Check cryptocurrency wallet balances across multiple blockchains using free public APIs.","description":"# Check Crypto Address Balance Skill\n\nQuery cryptocurrency address balances across multiple blockchains using free public APIs. Supports Bitcoin, Ethereum, BSC, Solana, Litecoin, and other major chains without requiring API keys for basic queries.\n\n## Supported chains & best free APIs\n\n| Chain | API | Base URL | Rate limit | Notes |\n|-------|-----|----------|------------|-------|\n| **Bitcoin (BTC)** | Blockchain.info | `https://blockchain.info` | ~1 req/10s | Most reliable, no key needed |\n| **Bitcoin (BTC)** | Blockstream | `https://blockstream.info/api` | Generous | Esplora API, open-source |\n| **Ethereum (ETH)** | Etherscan | `https://api.etherscan.io/api` | 5 req/sec (free) | Optional key for higher limits |\n| **Ethereum (ETH)** | Blockchair | `https://api.blockchair.com` | 30 req/min | Multi-chain support |\n| **BSC (BNB)** | BscScan | `https://api.bscscan.com/api` | 5 req/sec (free) | Same API as Etherscan |\n| **Solana (SOL)** | Public RPC | `https://api.mainnet-beta.solana.com` | Varies by node | Free public nodes |\n| **Solana (SOL)** | Solscan API | `https://public-api.solscan.io` | 10 req/sec | No key for basic queries |\n| **Litecoin (LTC)** | BlockCypher | `https://api.blockcypher.com/v1/ltc/main` | 200 req/hr | Multi-chain API |\n| **Litecoin (LTC)** | Chain.so | `https://chain.so/api/v2` | Generous | Simple JSON responses |\n| **Multi-chain** | Blockchair | `https://api.blockchair.com` | 30 req/min | BTC, ETH, LTC, DOGE, BCH |\n\n## Skills\n\n### Bitcoin (BTC) balance\n```bash\n# Using Blockchain.info (satoshis, convert to BTC by dividing by 100000000)\ncurl -s \"https://blockchain.info/q/addressbalance/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\"\n\n# Using Blockstream (satoshis)\ncurl -s \"https://blockstream.info/api/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa\" | jq '.chain_stats.funded_txo_sum - .chain_stats.spent_txo_sum'\n```\n\n**Node.js:**\n```javascript\nasync function getBTCBalance(address) {\n  const res = await fetch(`https://blockchain.info/q/addressbalance/${address}`);\n  const satoshis = await res.text();\n  return parseFloat(satoshis) / 1e8; // convert satoshis to BTC\n}\n```\n\n### Ethereum (ETH) balance\n```bash\n# Using Etherscan (no API key required for single queries, returns wei)\ncurl -s \"https://api.etherscan.io/api?module=account&action=balance&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&tag=latest\" | jq -r '.result'\n\n# Using Blockchair (returns balance in wei with additional metadata)\ncurl -s \"https://api.blockchair.com/ethereum/dashboards/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae\" | jq '.data[].address.balance'\n```\n\n**Node.js:**\n```javascript\nasync function getETHBalance(address) {\n  const url = `https://api.etherscan.io/api?module=account&action=balance&address=${address}&tag=latest`;\n  const res = await fetch(url);\n  const data = await res.json();\n  return parseFloat(data.result) / 1e18; // convert wei to ETH\n}\n```\n\n### BSC (BNB Smart Chain) balance\n```bash\n# Using BscScan (same API as Etherscan)\ncurl -s \"https://api.bscscan.com/api?module=account&action=balance&address=0x8894E0a0c962CB723c1976a4421c95949bE2D4E3&tag=latest\" | jq -r '.result'\n```\n\n**Node.js:**\n```javascript\nasync function getBSCBalance(address) {\n  const url = `https://api.bscscan.com/api?module=account&action=balance&address=${address}&tag=latest`;\n  const res = await fetch(url);\n  const data = await res.json();\n  return parseFloat(data.result) / 1e18; // convert wei to BNB\n}\n```\n\n### Solana (SOL) balance\n```bash\n# Using public RPC (balance in lamports, 1 SOL = 1e9 lamports)\ncurl -s https://api.mainnet-beta.solana.com -X POST -H \"Content-Type: application/json\" -d '\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"getBalance\",\n  \"params\": [\"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\"]\n}' | jq '.result.value'\n\n# Using Solscan API (returns SOL directly)\ncurl -s \"https://public-api.solscan.io/account/vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\" | jq '.lamports'\n```\n\n**Node.js:**\n```javascript\nasync function getSOLBalance(address) {\n  const res = await fetch('https://api.mainnet-beta.solana.com', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application/json' },\n    body: JSON.stringify({\n      jsonrpc: '2.0',\n      id: 1,\n      method: 'getBalance',\n      params: [address]\n    })\n  });\n  const data = await res.json();\n  return data.result.value / 1e9; // convert lamports to SOL\n}\n```\n\n### Litecoin (LTC) balance\n```bash\n# Using Chain.so (returns LTC directly)\ncurl -s \"https://chain.so/api/v2/get_address_balance/LTC/LTC_ADDRESS/6\" | jq -r '.data.confirmed_balance'\n\n# Using BlockCypher (returns satoshis)\ncurl -s \"https://api.blockcypher.com/v1/ltc/main/addrs/LTC_ADDRESS/balance\" | jq '.balance'\n```\n\n**Node.js:**\n```javascript\nasync function getLTCBalance(address) {\n  const res = await fetch(`https://chain.so/api/v2/get_address_balance/LTC/${address}/6`);\n  const data = await res.json();\n  return parseFloat(data.data.confirmed_balance);\n}\n```\n\n### Multi-chain helper (Node.js)\n```javascript\nconst APIS = {\n  BTC: (addr) => `https://blockchain.info/q/addressbalance/${addr}`,\n  ETH: (addr) => `https://api.etherscan.io/api?module=account&action=balance&address=${addr}&tag=latest`,\n  BSC: (addr) => `https://api.bscscan.com/api?module=account&action=balance&address=${addr}&tag=latest`,\n  LTC: (addr) => `https://chain.so/api/v2/get_address_balance/LTC/${addr}/6`\n};\n\nconst DIVISORS = { BTC: 1e8, ETH: 1e18, BSC: 1e18, LTC: 1 };\n\nasync function getBalance(chain, address) {\n  if (chain === 'SOL') {\n    const res = await fetch('https://api.mainnet-beta.solana.com', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        jsonrpc: '2.0', id: 1, method: 'getBalance', params: [address]\n      })\n    });\n    const data = await res.json();\n    return data.result.value / 1e9;\n  }\n  \n  const url = APIS[chain](address);\n  const res = await fetch(url);\n  \n  if (chain === 'BTC') {\n    const satoshis = await res.text();\n    return parseFloat(satoshis) / DIVISORS[chain];\n  } else if (chain === 'LTC') {\n    const data = await res.json();\n    return parseFloat(data.data.confirmed_balance);\n  } else {\n    const data = await res.json();\n    return parseFloat(data.result) / DIVISORS[chain];\n  }\n}\n\n// usage: getBalance('ETH', '0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae').then(console.log);\n```\n\n## Agent prompt\n```text\nYou have a cryptocurrency balance-checking skill. When a user provides a crypto address, detect the chain (BTC/ETH/BSC/SOL/LTC) from the address format:\n- BTC: starts with 1, 3, or bc1\n- ETH: starts with 0x (42 chars)\n- BSC: starts with 0x (42 chars, context-dependent)\n- SOL: base58 string (32-44 chars, no 0x)\n- LTC: starts with L or M\n\nUse the appropriate free public API from the table above, respecting rate limits. Return the balance in the native currency (BTC, ETH, BNB, SOL, LTC) with proper decimal conversion.\n```\n\n## Rate-limiting best practices\n- Implement 1-2 second delays between requests to the same API.\n- Cache results for at least 30 seconds to avoid redundant queries.\n- Use exponential backoff on rate-limit errors (HTTP 429).\n- For production, consider getting free API keys (Etherscan, BscScan) for higher limits.\n\n## Additional chains (via Blockchair)\nBlockchair supports: BTC, ETH, LTC, DOGE, BCH, Dash, Ripple, Groestlcoin, Stellar, Monero (view-key required), Cardano, and Zcash (t-addresses).\n\n## See also\n- [get-crypto-price.md](get-crypto-price.md) — Fetching current and historical crypto prices.","tags":["check","crypto","address","balance","open","skills","besoeasy","agent-skills","ai-agents","claude-code","clawdbot","clawdbot-skill"],"capabilities":["skill","source-besoeasy","skill-check-crypto-address-balance","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-clawdbot","topic-clawdbot-skill","topic-llm-tools","topic-mcp-server","topic-openai","topic-openclaw","topic-vibe-coding","topic-vibecoding"],"categories":["open-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/besoeasy/open-skills/check-crypto-address-balance","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add besoeasy/open-skills","source_repo":"https://github.com/besoeasy/open-skills","install_from":"skills.sh"}},"qualityScore":"0.505","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 111 github stars · SKILL.md body (7,476 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:55:02.869Z","embedding":null,"createdAt":"2026-04-18T22:10:35.739Z","updatedAt":"2026-05-02T12:55:02.869Z","lastSeenAt":"2026-05-02T12:55:02.869Z","tsv":"'-2':733 '-44':687 '/6':492,537 '/account/vines1vzrybzlmrdu58ou5xtby4qaqvrlmqo36nkptg':407 '/api':78,90,114 '/api/address/1a1zp1ep5qgefi2dmptftl5slmv7divfna':206 '/api/v2':162 '/api/v2/get_address_balance/ltc/$':490,535 '/api/v2/get_address_balance/ltc/ltc_address/6':462 '/api?module=account&action=balance&address=$':290,341,519,527 '/api?module=account&action=balance&address=0x8894e0a0c962cb723c1976a4421c95949be2d4e3&tag=latest':327 '/api?module=account&action=balance&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&tag=latest':259 '/ethereum/dashboards/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae':276 '/q/addressbalance/$':226,513 '/q/addressbalance/1a1zp1ep5qgefi2dmptftl5slmv7divfna':198 '/v1/ltc/main':150 '/v1/ltc/main/addrs/ltc_address/balance':475 '0x':671,677,690 '0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae':632 '1':66,372,390,433,547,573,664,732 '10':138 '100000000':193 '1e18':306,357,543,545 '1e8':235,541 '1e9':374,444,584 '2.0':388,431,571 '200':151 '3':665 '30':103,172,747 '32':686 '42':672,678 '429':762 '5':91,115 'across':10,26 'addit':270,775 'addr':510,514,516,520,524,528,532,536 'address':4,19,24,219,227,285,291,336,342,415,437,483,491,552,577,589,652,659,800 'address.balance':279 'agent':635 'also':802 'api':16,32,45,54,56,81,119,136,156,247,320,399,508,587,702,741,768 'api.blockchair.com':102,171,275 'api.blockchair.com/ethereum/dashboards/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae':274 'api.blockcypher.com':149,474 'api.blockcypher.com/v1/ltc/main':148 'api.blockcypher.com/v1/ltc/main/addrs/ltc_address/balance':473 'api.bscscan.com':113,326,340,526 'api.bscscan.com/api':112 'api.bscscan.com/api?module=account&action=balance&address=$':339,525 'api.bscscan.com/api?module=account&action=balance&address=0x8894e0a0c962cb723c1976a4421c95949be2d4e3&tag=latest':325 'api.etherscan.io':89,258,289,518 'api.etherscan.io/api':88 'api.etherscan.io/api?module=account&action=balance&address=$':288,517 'api.etherscan.io/api?module=account&action=balance&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&tag=latest':257 'api.mainnet-beta.solana.com':126,378,420,560 'application/json':385,427,567 'appropri':699 'async':216,282,333,412,480,548 'avoid':750 'await':222,230,296,301,347,352,418,440,486,495,558,580,592,600,613,622 'backoff':755 'balanc':5,9,20,25,182,242,266,315,364,369,451,466,477,500,618,643,712 'balance-check':642 'base':57 'base58':684 'bash':183,243,316,365,452 'basic':48,143 'bc1':667 'bch':178,785 'best':52,729 'bitcoin':34,62,73,180 'blockchain':12,28 'blockchain.info':64,65,185,197,225,512 'blockchain.info/q/addressbalance/$':224,511 'blockchain.info/q/addressbalance/1a1zp1ep5qgefi2dmptftl5slmv7divfna':196 'blockchair':101,170,264,778,779 'blockcyph':147,468 'blockstream':75,200 'blockstream.info':77,205 'blockstream.info/api':76 'blockstream.info/api/address/1a1zp1ep5qgefi2dmptftl5slmv7divfna':204 'bnb':110,312,361,719 'bodi':428,568 'bsc':36,109,311,523,544,674 'bscscan':111,318,771 'btc':63,74,174,181,189,239,509,540,597,661,717,781 'btc/eth/bsc/sol/ltc':656 'cach':742 'cardano':795 'chain':42,51,55,107,155,169,314,503,551,554,588,596,606,609,628,655,776 'chain.so':159,161,454,461,489,534 'chain.so/api/v2':160 'chain.so/api/v2/get_address_balance/ltc/$':488,533 'chain.so/api/v2/get_address_balance/ltc/ltc_address/6':460 'chain_stats.funded':208 'chain_stats.spent':211 'char':673,679,688 'check':2,6,17,644 'check-crypto-address-bal':1 'consid':765 'console.log':634 'const':220,228,286,294,299,337,345,350,416,438,484,493,507,538,556,578,585,590,598,611,620 'content':383,425,565 'content-typ':382,424,564 'context':681 'context-depend':680 'convers':725 'convert':187,236,307,358,445 'crypto':3,18,651,809 'cryptocurr':7,23,641 'curl':194,202,255,272,323,376,403,458,471 'currenc':716 'current':806 'd':386 'dash':786 'data':278,300,351,439,494,579,612,621 'data.confirmed':465 'data.data.confirmed':499,617 'data.result':305,356,626 'data.result.value':443,583 'decim':724 'delay':735 'depend':682 'detect':653 'direct':402,457 'divid':191 'divisor':539,605,627 'doge':177,784 'els':607,619 'error':760 'esplora':80 'eth':86,100,175,241,310,515,542,631,668,718,782 'ethereum':35,85,99,240 'etherscan':87,121,245,322,770 'exponenti':754 'fetch':223,297,348,419,487,559,593,805 'format':660 'free':14,30,53,93,117,130,700,767 'function':217,283,334,413,481,549 'generous':79,163 'get':766 'get-crypto-price.md':803,804 'getbal':392,435,550,575,630 'getbscbal':335 'getbtcbal':218 'getethbal':284 'getltcbal':482 'getsolbal':414 'groestlcoin':788 'h':381 'header':423,563 'helper':504 'higher':97,773 'histor':808 'http':761 'id':389,432,572 'implement':731 'javascript':215,281,332,411,479,506 'jq':207,260,277,328,395,408,463,476 'json':165 'json.stringify':429,569 'jsonrpc':387,430,570 'key':46,71,95,141,248,769,793 'l':694 'lamport':371,375,409,446 'latest':293,344,522,530 'least':746 'limit':60,98,709,728,759,774 'litecoin':38,145,157,449 'ltc':146,158,176,450,456,531,546,610,691,721,783 'm':696 'major':41 'metadata':271 'method':391,421,434,561,574 'monero':790 'multi':106,154,168,502 'multi-chain':105,153,167,501 'multipl':11,27 'nativ':715 'need':72 'node':129,132 'node.js':214,280,331,410,478,505 'note':61 'open':83 'open-sourc':82 'option':94 'param':393,436,576 'parsefloat':233,304,355,498,603,616,625 'post':380,422,562 'practic':730 'price':810 'product':764 'prompt':636 'proper':723 'provid':649 'public':15,31,124,131,367,701 'public-api.solscan.io':137,406 'public-api.solscan.io/account/vines1vzrybzlmrdu58ou5xtby4qaqvrlmqo36nkptg':405 'queri':22,49,144,252,752 'r':261,329,464 'rate':59,708,727,758 'rate-limit':726,757 'redund':751 'reliabl':69 'req/10s':67 'req/hr':152 'req/min':104,173 'req/sec':92,116,139 'request':737 'requir':44,249,794 'res':221,295,346,417,485,557,591 'res.json':302,353,441,496,581,614,623 'res.text':231,601 'respect':707 'respons':166 'result':262,330,743 'result.value':396 'return':232,253,265,303,354,400,442,455,469,497,582,602,615,624,710 'rippl':787 'rpc':125,368 'satoshi':186,201,229,234,237,470,599,604 'second':734,748 'see':801 'simpl':164 'singl':251 'skill':21,179,645 'skill-check-crypto-address-balance' 'smart':313 'sol':123,134,363,373,401,448,555,683,720 'solana':37,122,133,362 'solscan':135,398 'sourc':84 'source-besoeasy' 'start':662,669,675,692 'stellar':789 'string':685 'sum':210,213 'support':33,50,108,780 't-address':798 'tabl':705 'tag':292,343,521,529 'text':637 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-clawdbot' 'topic-clawdbot-skill' 'topic-llm-tools' 'topic-mcp-server' 'topic-openai' 'topic-openclaw' 'topic-vibe-coding' 'topic-vibecoding' 'txo':209,212 'type':384,426,566 'url':58,287,298,338,349,586,594 'usag':629 'use':13,29,184,199,244,263,317,366,397,453,467,697,753 'user':648 'vari':127 'via':777 'view':792 'view-key':791 'vines1vzrybzlmrdu58ou5xtby4qaqvrlmqo36nkptg':394 'wallet':8 'wei':254,268,308,359 'without':43 'x':379 'zcash':797","prices":[{"id":"24f3a452-a79a-4237-9f52-aaf3766fd025","listingId":"10689abc-7560-40ce-9d92-b308998e0b7b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"besoeasy","category":"open-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:10:35.739Z"}],"sources":[{"listingId":"10689abc-7560-40ce-9d92-b308998e0b7b","source":"github","sourceId":"besoeasy/open-skills/check-crypto-address-balance","sourceUrl":"https://github.com/besoeasy/open-skills/tree/main/skills/check-crypto-address-balance","isPrimary":false,"firstSeenAt":"2026-04-18T22:10:35.739Z","lastSeenAt":"2026-05-02T12:55:02.869Z"}],"details":{"listingId":"10689abc-7560-40ce-9d92-b308998e0b7b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"besoeasy","slug":"check-crypto-address-balance","github":{"repo":"besoeasy/open-skills","stars":111,"topics":["agent-skills","ai","ai-agents","claude-code","clawdbot","clawdbot-skill","llm-tools","mcp-server","openai","openclaw","vibe-coding","vibecoding"],"license":null,"html_url":"https://github.com/besoeasy/open-skills","pushed_at":"2026-03-31T13:05:30Z","description":"Battle-tested skill library for AI agents. Save 98% of API costs with ready-to-use code for crypto, PDFs, search, web scraping & more. No trial-and-error, no expensive APIs.","skill_md_sha":"7a8e0904501ff825365bea44dc1d2f8a7a23f274","skill_md_path":"skills/check-crypto-address-balance/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/besoeasy/open-skills/tree/main/skills/check-crypto-address-balance"},"layout":"multi","source":"github","category":"open-skills","frontmatter":{"name":"check-crypto-address-balance","description":"Check cryptocurrency wallet balances across multiple blockchains using free public APIs."},"skills_sh_url":"https://skills.sh/besoeasy/open-skills/check-crypto-address-balance"},"updatedAt":"2026-05-02T12:55:02.869Z"}}