Reference
JSON API
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /api/summary | Everything on the overview page: tip, stats, algo counts, latest 5 blocks. |
| GET | /api/blocks?before=&limit= | Newest-first block list. `limit` max 200, keyset paginated. |
| GET | /api/block/:heightOrHash | One block with its inputs, outputs and kernels. |
| GET | /api/kernel/:excess | Kernel by excess commitment. |
| GET | /api/output/:commitment | Output by commitment, including spent status. |
| GET | /api/peers | Connected and known peers, straight from the node. |
| GET | /api/mempool | Unconfirmed transaction pool. |
| GET | /api/status | Explorer and indexer health. Useful for monitoring. |
| GET | /events | Server-Sent Events stream. `tip` on every snapshot, `reorg` on a reorg. |
Live updates
Consuming the event stream
const es = new EventSource('https://floo-explorer.btlabs.uk/events');
es.addEventListener('tip', (e) => {
const s = JSON.parse(e.data);
console.log(s.chain.nodeHeight, s.latest[0].hash);
});
es.addEventListener('reorg', (e) => console.warn('reorg', JSON.parse(e.data)));
A tip event carries the same object as /api/summary. Events fire on each snapshot rebuild, which happens when a block arrives and every few seconds for peer and mempool changes — so treat it as "current state", not as a per-block log.