All endpoints are CORS-open and return JSON.
The proxy automatically fails over across three Zephyr nodes
(
node.zeph.network SSL โ official โ HTTP) and edge-caches hot endpoints
on Cloudflare for 4–30 seconds. Hard-cap is permissive but please be a good neighbour.
No auth, no API key, no rate limit beyond Cloudflare's defaults.
REST endpoints
GET
/api/info
Chain stats: height, hashrate, difficulty, mempool size, network type, version. Wraps Zephyr's
get_info JSON-RPC.curl https://explorer.zephflow.live/api/info
GET
/api/height
Just the chain tip count. Light, cached for 4 s.
curl https://explorer.zephflow.live/api/height
GET
/api/last_block
Header of the most recent block: hash, timestamp, reward, miner_tx_hash, difficulty.
curl https://explorer.zephflow.live/api/last_block
GET
/api/block/:id
Block header by height (numeric) or 64-char hex hash. Long-cached (1d) since blocks are immutable.
curl https://explorer.zephflow.live/api/block/766349
GET
/api/block_full/:id
Full block payload โ header + tx_hashes + miner_tx_hash + raw block JSON (incl. embedded pricing record).
curl https://explorer.zephflow.live/api/block_full/766349
GET
/api/headers?from=X&to=Y
Range of block headers (max 50 per call). Used by the homepage's "Latest blocks" table.
curl 'https://explorer.zephflow.live/api/headers?from=766300&to=766349'
POST
/api/tx
Look up one or more transactions by hash. Body:
{"hashes": ["...", ...]} (max 25).curl -X POST https://explorer.zephflow.live/api/tx \
-H 'Content-Type: application/json' \
-d '{"hashes":["abc123...64hex..."]}'
GET
/api/circulating
Per-currency circulating supply tally (ZPH / ZSD / ZRS / ZYS / DJED / YIELD). Wraps Zephyr's
get_circulating_supply.curl https://explorer.zephflow.live/api/circulating
GET
/api/reserve
Full reserve state: assets, equity, liabilities, num_stables, num_reserves, reserve_ratio, plus the embedded pricing record (
.pr).curl https://explorer.zephflow.live/api/reserve
GET
/api/pricing
Just the live oracle pricing record: spot, moving_average, stable, reserve, yield_price, signature, timestamp.
curl https://explorer.zephflow.live/api/pricing
GET
/api/pricing_history?from=X&to=Y&step=N
Decoded pricing record for each block in a range. Optional
step samples sparsely (use 7 for 24h, 50 for 7d, 215 for 30d). Max 110 sample points per call.curl 'https://explorer.zephflow.live/api/pricing_history?from=765630&to=766350&step=7'
GET
/api/fee
Network fee estimate (per-byte) from
get_fee_estimate.curl https://explorer.zephflow.live/api/fee
GET
/api/health
Per-node liveness probe. Returns each upstream daemon's status and current height.
curl https://explorer.zephflow.live/api/health
POST
/api/rpc
Generic JSON-RPC passthrough. Body:
{"method": "...", "params": {}}. Use this to call any daemon method we haven't surfaced explicitly.curl -X POST https://explorer.zephflow.live/api/rpc \
-H 'Content-Type: application/json' \
-d '{"method":"get_block_count"}'
Embed widgets
Reserve ratio widget
Live colored ratio with status pill. Auto-refreshes every 30 s.
Oracle spot widget
Spot, MA, ZRS, ZYS prices stacked. Auto-refreshes every 30 s.
Circulating supply widget
All four primary currency supplies. Auto-refreshes every 60 s.
Reuse freely. No attribution required, but a link
back to explorer.zephflow.live is appreciated and
included in the default widget footers.
Found a bug or have a request? Ping us in the Zephyr community channels.