| name | crypto-wallet |
| version | 0.1.0 |
| author | devclaw |
| description | Cryptocurrency wallet — check balances, addresses, and transactions |
| category | finance |
| tags | ["crypto","bitcoin","ethereum","wallet","blockchain"] |
| requires | {"bins":["curl","jq"]} |
Crypto Wallet
Check cryptocurrency balances, addresses, and transactions.
Setup
API keys (optional; Etherscan for higher rate limits; store in vault, never use export):
- Etherscan:
vault_save etherscan_api_key "your_key"
- Check:
vault_get etherscan_api_key — keys auto-inject as uppercase env vars
Bitcoin (blockchain.info), BlockCypher, CoinGecko, CoinCap, and Solana RPC work without keys.
Bitcoin
curl -s "https://blockchain.info/q/addressbalance/BITCOIN_ADDRESS" | jq '.'
curl -s "https://blockchain.info/rawaddr/BITCOIN_ADDRESS" | jq '{
balance: .final_balance,
total_received: .total_received,
n_tx: .n_tx
}'
curl -s "https://blockchain.info/ticker" | jq '.USD.last'
curl -s "https://blockchain.info/rawtx/TX_HASH" | jq '{hash, size, block_height}'
Ethereum
curl -s "https://api.etherscan.io/api?module=account&action=balance&address=ADDRESS&tag=latest&apikey=$ETHERSCAN_API_KEY" | jq '.result'
curl -s "https://api.etherscan.io/api?module=stats&action=ethprice&apikey=$ETHERSCAN_API_KEY" | jq '.result'
curl -s "https://api.etherscan.io/api?module=account&action=txlist&address=ADDRESS&apikey=$ETHERSCAN_API_KEY" | jq '.result[:5]'
curl -s "https://api.etherscan.io/api?module=account&action=tokenbalance&contractaddress=TOKEN_ADDR&address=WALLET_ADDR&apikey=$ETHERSCAN_API_KEY" | jq '.result'
Multi-chain (BlockCypher)
curl -s "https://api.blockcypher.com/v1/btc/main/addrs/ADDRESS/balance" | jq '.'
curl -s "https://api.blockcypher.com/v1/eth/main/addrs/ADDRESS/balance" | jq '.'
curl -s "https://api.blockcypher.com/v1/ltc/main/addrs/ADDRESS/balance" | jq '.'
Prices (CoinGecko - Free)
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,solana&vs_currencies=usd" | jq '.'
curl -s "https://api.coingecko.com/api/v3/coins/bitcoin" | jq '{
name, symbol,
price: .market_data.current_price.usd,
change_24h: .market_data.price_change_percentage_24h
}'
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=10" | jq '.[] | {name, current_price, market_cap}'
Prices (CoinCap - Free)
curl -s "https://api.coincap.io/v2/assets/bitcoin" | jq '.data.priceUsd'
curl -s "https://api.coincap.io/v2/assets?ids=bitcoin,ethereum" | jq '.data[]'
curl -s "https://api.coincap.io/v2/assets/bitcoin/history?interval=d1" | jq '.data[-7:]'
Solana
curl -s -X POST "https://api.mainnet-beta.solana.com" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["WALLET_ADDRESS"]}' | jq '.result.value'
Transaction Tracking
curl -s "https://blockchain.info/rawtx/TX_HASH" | jq '{
hash, block_height, inputs: .inputs | length, outputs: .out | length
}'
curl -s "https://api.etherscan.io/api?module=proxy&action=eth_getTransactionByHash&txhash=TX_HASH&apikey=$ETHERSCAN_API_KEY" | jq '.result'
Generate Addresses (offline)
openssl rand -hex 32
pip install bitcoinlib
python -c "from bitcoinlib.wallets import Wallet; w = Wallet.create('test'); print(w.get_key().address)"
Tips
- Never share private keys
- Use API keys for higher rate limits
- Etherscan: 5 calls/second free tier
- CoinGecko: 10-30 calls/minute free tier
- Always verify addresses before sending
Triggers
crypto, bitcoin, ethereum, wallet balance, crypto price,
check crypto, blockchain, cryptocurrency