📚 API Documentation
Free, open API for accessing Zcash testnet blockchain data. No authentication required.
https://api.mainnet.cipherscan.app/api🛡️Privacy & 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.
Testnet Only: This API currently serves Zcash testnet data. Mainnet API will be available at cipherscan.app/api
Rate Limiting: If you exceed 100 requests per minute, you'll receive a 429 Too Many Requests response.
Blocks
/api/block/:heightGet detailed information about a specific block by height
Parameters
height(number)- Block height (e.g., 3667080)Example Request
curl https://api.mainnet.cipherscan.app/api/block/3667080Example Response
{
"height": 3667080,
"hash": "0000000...",
"timestamp": 1699123456,
"transactions": [],
"transactionCount": 2,
"size": 1234,
"difficulty": 1,
"confirmations": 5,
"previousBlockHash": "0000000...",
"nextBlockHash": "0000000...",
"version": 4,
"merkleRoot": "...",
"finalSaplingRoot": "..."
}/api/blocksGet a list of recent blocks with pagination
Parameters
limit(number)- Number of blocks to return (default: 50, max: 100)offset(number)- Number of blocks to skip (default: 0)Example Request
curl 'https://api.mainnet.cipherscan.app/api/blocks?limit=10&offset=0'Example Response
{
"blocks": [
{
"height": 3667080,
"hash": "0000000...",
"timestamp": 1699123456,
"transaction_count": 2,
"size": 1234,
"difficulty": "41.58",
"total_fees": "0"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"total": 3667080,
"hasMore": true
}
}Transactions
/api/tx/:txidGet detailed information about a specific transaction
Parameters
txid(string)- Transaction ID (hash)Example Request
curl https://api.mainnet.cipherscan.app/api/tx/abc123...Example Response
{
"txid": "abc123...",
"blockHeight": 3667080,
"blockHash": "0000000...",
"timestamp": 1699123456,
"confirmations": 5,
"inputs": [],
"outputs": [],
"totalInput": 0,
"totalOutput": 0,
"fee": 0,
"size": 250,
"shieldedSpends": 0,
"shieldedOutputs": 0,
"orchardActions": 0,
"hasShieldedData": false
}/api/tx/shieldedGet shielded transactions with advanced filters (pool type, fully shielded vs partial, min actions)
Parameters
limit(number)- Number of transactions to return (default: 50, max: 100)offset(number)- Number of transactions to skip for pagination (default: 0)pool(string)- Filter by pool type: "sapling", "orchard", or omit for all (optional)type(string)- Filter by transaction type: "fully-shielded" (no transparent I/O) or "partial" (mixed), or omit for all (optional)min_actions(number)- Minimum number of shielded actions/spends/outputs (optional)Example Request
curl 'https://api.mainnet.cipherscan.app/api/tx/shielded?pool=orchard&type=fully-shielded&limit=10'Example Response
{
"transactions": [
{
"txid": "abc123...",
"blockHeight": 3667080,
"blockHash": "0000000...",
"blockTime": 1699123456,
"hasSapling": false,
"hasOrchard": true,
"shieldedSpends": 0,
"shieldedOutputs": 0,
"orchardActions": 2,
"vinCount": 0,
"voutCount": 0,
"size": 2500,
"type": "fully-shielded"
}
],
"pagination": {
"total": 12564,
"limit": 10,
"offset": 0,
"hasMore": true
},
"filters": {
"pool": "orchard",
"type": "fully-shielded",
"minActions": 0
}
}/api/address/:addressGet balance and transaction history for an address (transparent only)
Parameters
address(string)- Zcash address (t-address or unified address with transparent receiver)Example Request
curl https://api.mainnet.cipherscan.app/api/address/t1abc...Example Response
{
"address": "t1abc...",
"type": "transparent",
"balance": 123.456,
"transactionCount": 42,
"transactions": [
{
"txid": "abc...",
"timestamp": 1699123456,
"amount": 10.5,
"type": "received",
"blockHeight": 3667080,
"from": "t1xyz...",
"to": "t1abc..."
}
]
}/api/mempoolGet current mempool status and pending transactions
Example Request
curl https://api.mainnet.cipherscan.app/api/mempoolExample Response
{
"count": 5,
"showing": 5,
"transactions": [
{
"txid": "abc...",
"type": "shielded",
"vin": 1,
"vout": 2,
"saplingSpends": 1,
"saplingOutputs": 2,
"orchardActions": 0,
"size": 2500,
"time": 1699123456
}
],
"stats": {
"total": 5,
"shielded": 2,
"transparent": 3,
"shieldedPercentage": 40
}
}Privacy & Analytics
/api/privacy-statsGet blockchain-wide privacy statistics (shielded adoption, pool size, privacy score)
Example Request
curl https://api.mainnet.cipherscan.app/api/privacy-statsExample Response
{
"totals": {
"blocks": 3667080,
"shieldedTx": 91639,
"transparentTx": 467611,
"mixedTx": 79075,
"fullyShieldedTx": 12564
},
"shieldedPool": {
"currentSize": 1563095.76
},
"metrics": {
"shieldedPercentage": 16.4,
"privacyScore": 11,
"avgShieldedPerDay": 1250,
"adoptionTrend": "stable"
},
"trends": {
"daily": [
{
"date": "2024-11-23",
"shielded": 1234,
"transparent": 5678,
"shieldedPercentage": 17.8,
"poolSize": 1563095.76,
"privacyScore": 11
}
]
}
}Network
/api/network/statsGet real-time network statistics (hashrate, peers, blockchain size)
Example Request
curl https://api.mainnet.cipherscan.app/api/network/statsExample Response
{
"success": true,
"mining": {
"networkHashrate": "0.00 TH/s",
"difficulty": 1,
"avgBlockTime": 75,
"blocks24h": 1152,
"blockReward": 3.125,
"dailyRevenue": 3600
},
"network": {
"peers": 8,
"height": 3667080,
"protocolVersion": 170100,
"subversion": "/Zebra:v3.0.0/"
},
"blockchain": {
"height": 3667080,
"latestBlockTime": 1699123456,
"syncProgress": 100,
"sizeGB": 45.23,
"tx24h": 2500
}
}/api/network/peersGet detailed information about connected Zcash network peers
Example Request
curl https://api.mainnet.cipherscan.app/api/network/peersExample Response
{
"success": true,
"count": 8,
"peers": [
{
"id": 1,
"addr": "192.168.1.1:8233",
"ip": "192.168.1.1",
"inbound": false,
"version": 170100,
"subver": "/Zebra:v3.0.0/",
"pingtime": 0.05
}
]
}/api/network/healthCheck Zebra node health status
Example Request
curl https://api.mainnet.cipherscan.app/api/network/healthExample Response
{
"success": true,
"zebra": {
"healthy": true,
"ready": true,
"healthEndpointAvailable": true
},
"note": "Zebra 3.0+ health endpoints available"
}Code Examples
JavaScript / Node.js
// Fetch block data
const response = await fetch('https://api.mainnet.cipherscan.app/api/block/3667080');
const data = await response.json();
console.log(data);
// Fetch privacy stats
const stats = await fetch('https://api.mainnet.cipherscan.app/api/privacy-stats');
const privacyData = await stats.json();
console.log(privacyData.metrics.privacyScore);Python
import requests
# Fetch block data
response = requests.get('https://api.mainnet.cipherscan.app/api/block/3667080')
data = response.json()
print(data)
# Fetch mempool
mempool = requests.get('https://api.mainnet.cipherscan.app/api/mempool')
print(f"Pending transactions: {mempool.json()['count']}")Need Help?
If you have questions or need support, feel free to reach out: