API Documentation
Free, open API for accessing Zcash blockchain data. 44 endpoints, no authentication required.
https://api.mainnet.cipherscan.app/apiPrivacy & Limitations
Shielded Addresses:Due to Zcash's privacy features, shielded addresses (z-addresses) and their balances cannot be queried. Only transparent addresses (t-addresses) and unified addresses with transparent receivers are supported.
Networks: This API is available on both mainnet ( api.mainnet.cipherscan.app) and testnet ( api.testnet.cipherscan.app). The base URL above reflects the network you are currently viewing.
Rate Limiting:If you exceed 100 requests per minute, you'll receive a 429 Too Many Requests response.
Values: Monetary amounts in responses are in zatoshis (1 ZEC = 100,000,000 zatoshis) unless otherwise noted. Some endpoints return both ZEC and zatoshi values.
Blocks
3 endpoints/api/block/:heightOrHashGet detailed information about a specific block by height or hash, including all transactions with fee, total_input, and total_output in zatoshis.
Parameters
heightOrHash(number | string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/block/2500000/api/blocksGet a paginated list of recent blocks.
Parameters
limit(number)offset(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/blocks?limit=10&offset=0'/api/network/blocks/recentGet recent blocks with miner reward details.
Parameters
limit(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/network/blocks/recent?limit=5'Transactions
6 endpoints/api/tx/:txidGet detailed information about a specific transaction, including transparent inputs/outputs, shielded activity, and cross-chain bridge data if applicable.
Parameters
txid(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/tx/abc123.../api/tx/:txid/rawGet the raw hex-encoded transaction data.
Parameters
txid(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/tx/abc123.../raw/api/tx/:txid/verboseGet the full decoded transaction from the Zebra node (raw hex + decoded JSON with all inputs, outputs, shielded data, and script details).
Parameters
txid(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/tx/abc123.../verbose/api/tx/shieldedQuery shielded transactions with advanced filters. Filter by pool type, fully-shielded vs partial, and minimum shielded actions.
Parameters
limit(number)offset(number)pool(string)type(string)min_actions(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/tx/shielded?pool=orchard&type=fully-shielded&limit=10'/api/shielded/listPaginated list of shielded flows (shielding and deshielding events). Uses cursor-based pagination for efficient traversal.
Parameters
limit(number)cursor(string)cursor_id(string)direction(string)flow_type(string)pool(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/shielded/list?flow_type=shield&pool=orchard&limit=10'/api/tx/broadcastBroadcast a signed raw transaction to the Zcash network.
Parameters
rawTx(string)requiredExample Request
curl -X POST https://api.mainnet.cipherscan.app/api/tx/broadcast -H "Content-Type: application/json" -d '{"rawTx": "0500..."}'Mempool
2 endpoints/api/mempoolGet current mempool status including all pending transactions and shielded/transparent breakdown.
Example Request
curl https://api.mainnet.cipherscan.app/api/mempool/api/mempool/tx/:txidCheck if a specific transaction is in the mempool and get its details.
Parameters
txid(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/mempool/tx/abc123...Addresses
3 endpoints/api/address/:addressGet balance, transaction count, and paginated transaction history for a transparent address.
Parameters
address(string)requiredpage(number)limit(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/address/t1abc...?page=1&limit=25'/api/rich-listGet the top transparent addresses ranked by balance, with concentration metrics.
Parameters
limit(number)offset(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/rich-list?limit=10'/api/labelsGet all known address labels (exchanges, miners, custodians, government seizures, etc.).
Example Request
curl https://api.mainnet.cipherscan.app/api/labelsSupply
6 endpoints/api/circulating-supplyGet the current ZEC circulating supply. Returns plain text by default (for aggregator compatibility) or JSON with the format parameter.
Parameters
format(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/circulating-supply?format=json'/api/supplyGet the current value locked in each Zcash pool (Transparent, Sprout, Sapling, Orchard).
Example Request
curl https://api.mainnet.cipherscan.app/api/supply/api/supply/transparent-breakdownBreakdown of transparent supply by labeled category (exchanges, miners, custodians, etc.).
Example Request
curl https://api.mainnet.cipherscan.app/api/supply/transparent-breakdown/api/network/halvingGet information about the next Zcash block reward halving, including countdown, current/next subsidy, and funding stream breakdown.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/halving/api/network/emissionHistorical supply emission curve and daily emission data.
Parameters
period(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/network/emission?period=1y'/api/network/pool-historyHistorical shielded pool sizes over time. Shows the split between Sprout, Sapling, Orchard, and Transparent pools.
Parameters
period(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/network/pool-history?period=90d'Network
10 endpoints/api/network/statsComprehensive network statistics: mining (hashrate, difficulty, block times), network (peers, height), blockchain (size, tx volume), and supply (pool breakdown).
Example Request
curl https://api.mainnet.cipherscan.app/api/network/stats/api/network/mining-metricsRolling-window mining metrics for charting: solution rate, difficulty, block times, fees, and transaction counts over recent blocks.
Parameters
window(number)limit(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/network/mining-metrics?window=20&limit=60'/api/network/healthCheck the health status of the Zebra node.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/health/api/network/peersGet information about connected Zcash network peers.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/peers/api/network/nodesGet geographic distribution of Zcash nodes for map visualization.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/nodes/api/network/feesGet current fee estimates based on ZIP-317 conventional fee structure.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/fees/api/blockchain-infoRaw blockchain info from the Zebra node (getblockchaininfo RPC), including consensus rules and upgrade activation heights.
Example Request
curl https://api.mainnet.cipherscan.app/api/blockchain-info/api/priceGet the current ZEC/USD price and 24-hour change (sourced from CoinGecko).
Example Request
curl https://api.mainnet.cipherscan.app/api/price/api/price/atGet the historical ZEC/USD price for a specific date. Falls back to the closest earlier date if exact date is unavailable.
Parameters
date(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/price/at?date=2025-01-15/api/network/protocol-statsCommitment tree sizes and nullifier set sizes for Sapling and Orchard pools, with monthly historical growth data.
Example Request
curl https://api.mainnet.cipherscan.app/api/network/protocol-statsPrivacy
6 endpoints/api/privacy-statsBlockchain-wide privacy statistics: shielded adoption rates, pool sizes, privacy score, and daily trends.
Example Request
curl https://api.mainnet.cipherscan.app/api/privacy-stats/api/stats/shielded-countTotal count of shielded transactions since a given date. With detailed=true, includes Sapling/Orchard breakdown.
Parameters
since(string)requireddetailed(boolean)Example Request
curl 'https://api.mainnet.cipherscan.app/api/stats/shielded-count?since=2025-01-01&detailed=true'/api/stats/shielded-dailyDaily shielded transaction counts for a date range. Useful for building adoption trend charts.
Parameters
since(string)requireduntil(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/stats/shielded-daily?since=2026-04-01&until=2026-05-01'/api/blend-checkCheck how common a ZEC amount is in shielded transactions. Higher blend scores mean better privacy — your transaction blends in with more others.
Parameters
amount(number)requiredExample Request
curl 'https://api.mainnet.cipherscan.app/api/blend-check?amount=1.0'/api/blend-check/splitGet recommendations for splitting an amount into common denominations to improve privacy.
Parameters
amount(number)requiredExample Request
curl 'https://api.mainnet.cipherscan.app/api/blend-check/split?amount=3.7'/api/tx/:txid/linkabilityAnalyze potential linkability between a shielding transaction and subsequent deshielding transactions based on amount, timing, and other heuristics.
Parameters
txid(string)requiredlimit(number)tolerance(number)Example Request
curl 'https://api.mainnet.cipherscan.app/api/tx/abc123.../linkability?limit=5'Cross-Chain
3 endpoints/api/crosschain/statsLive cross-chain swap statistics via NEAR Intents. Shows 24h volume, inflows, outflows, and recent swaps.
Example Request
curl https://api.mainnet.cipherscan.app/api/crosschain/stats/api/crosschain/trendsHistorical cross-chain volume trends over time.
Parameters
period(string)granularity(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/crosschain/trends?period=30d&granularity=daily'/api/crosschain/historyPaginated history of all cross-chain swaps with optional filters.
Parameters
page(number)limit(number)direction(string)chain(string)Example Request
curl 'https://api.mainnet.cipherscan.app/api/crosschain/history?direction=entry&chain=ethereum&limit=10'Names (ZNS)
2 endpoints/api/name/:nameResolve a ZNS (Zcash Name Service) name to its registered address, along with marketplace listing if any.
Parameters
name(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/name/satoshi/api/name/:name/eventsGet the full event history for a ZNS name: claims, listings, delistings, sales, and updates.
Parameters
name(string)requiredExample Request
curl https://api.mainnet.cipherscan.app/api/name/satoshi/eventsPool Analytics
3 endpoints/api/pools/overviewCurrent shielded pool sizes (Sapling, Orchard, Sprout) with 24h, 7d, and 30d deltas showing supply movement between pools.
Example Request
curl https://api.mainnet.cipherscan.app/api/pools/overview/api/pools/flowsTime-series shield/deshield volume data. Supports daily or hourly granularity with optional pool filtering.
Parameters
period(string)pool(string)granularity(string)Example Request
curl "https://api.mainnet.cipherscan.app/api/pools/flows?period=7d&granularity=hourly&pool=orchard"/api/pools/turnstileTurnstile analysis: tracks where deshielded ZEC goes after exiting a shielded pool (still held, reshielded, transferred, sent to exchange, sent to bridge).
Parameters
since(string)Example Request
curl "https://api.mainnet.cipherscan.app/api/pools/turnstile?since=2026-01-01"Code Examples
JavaScript / Node.js
const BASE = 'https://api.mainnet.cipherscan.app';
// Latest blocks
const blocks = await fetch(BASE + '/api/blocks?limit=5');
console.log(await blocks.json());
// Privacy stats
const stats = await fetch(BASE + '/api/privacy-stats');
const { metrics } = await stats.json();
console.log('Privacy score:', metrics.privacyScore);
// Blend check — how common is 1 ZEC?
const blend = await fetch(BASE + '/api/blend-check?amount=1.0');
console.log(await blend.json());Python
import requests
BASE = 'https://api.mainnet.cipherscan.app'
# Circulating supply
supply = requests.get(f'{BASE}/api/circulating-supply?format=json').json()
print(f"Circulating: {supply['circulatingSupply']} ZEC")
# Rich list top 10
rich = requests.get(f'{BASE}/api/rich-list?limit=10').json()
for addr in rich['addresses']:
label = addr.get('label', 'Unknown')
print(f"#{addr['rank']} {label}: {addr['balance'] / 1e8:.2f} ZEC")
# Mempool
mempool = requests.get(f'{BASE}/api/mempool').json()
print(f"Pending: {mempool['count']} txs ({mempool['stats']['shieldedPercentage']}% shielded)")cURL
# Halving countdown curl https://api.mainnet.cipherscan.app/api/network/halving # Cross-chain swap volume curl https://api.mainnet.cipherscan.app/api/crosschain/stats # Shielded transaction count since 2025 curl 'https://api.mainnet.cipherscan.app/api/stats/shielded-count?since=2025-01-01&detailed=true'
Error Responses
200Success. Response body contains the requested data.400Bad request. Invalid parameters (e.g., non-numeric block height, missing required param).404Not found. The requested block, transaction, address, or name does not exist.429Rate limit exceeded. Wait and retry. Limit: 100 requests per minute per IP.500Server error. The node or database may be temporarily unavailable.Need Help?
If you have questions or need support, feel free to reach out: