Developer

API & Embed Widgets

Pull live Zephyr data into your site, bot, or wallet with one HTTP call or one iframe.

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.
<iframe src="https://explorer.zephflow.live/embed/ratio.html"
        width="300" height="140" frameborder="0"></iframe>
Oracle spot widget
Spot, MA, ZRS, ZYS prices stacked. Auto-refreshes every 30 s.
<iframe src="https://explorer.zephflow.live/embed/spot.html"
        width="300" height="180" frameborder="0"></iframe>
Circulating supply widget
All four primary currency supplies. Auto-refreshes every 60 s.
<iframe src="https://explorer.zephflow.live/embed/supply.html"
        width="340" height="200" frameborder="0"></iframe>
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.