provenance · where every number comes from

Data & sources

Every figure on this site is attributed to exactly one of five sources. This is the legend.

read-only · non-custodial

What this is

xmr.irish is a read-only educational tool. It holds no funds, has no accounts, takes no custody, and cannot move money. There are no wallets and no sign-ups — nothing to connect.

There are no third-party runtime calls. Your browser only ever talks to this origin: all live data arrives through same-origin /api/* proxies, every chart is drawn locally with self-hosted Canvas 2D, and there are no trackers, no analytics, and no external fonts or scripts.

the five-source legend

Where every number comes from

This vocabulary matches the badge you see beside data across the site — the badge only says where a number came from. It is source attribution, not a “fake data” warning: after the v5.0.14–v5.0.18 cleanup there is no fabricated data left anywhere.

NODElive node telemetry

Live chain telemetry from a public Monero node cascade — height, hashrate, difficulty, mempool, fee tiers, hard-fork version, and per-transaction detail. The cascade tries several public nodes in order; if every node fails, the last-good snapshot is held and flagged STALE · reconnecting — never fabricated — while polling continues and recovers automatically.

COINGECKOlive market data

Live market data — price, 24h change, XMR/BTC, volume, and OHLC candles — proxied and cached server-side. If a fetch fails it degrades to the last-good value labelled stale, and never to a fabricated fallback.

SESSIONcomputed in-browser

Values your browser computes this session from the live data — for example a confirmation count is simply the chain tip minus a block’s height. Real, but derived locally rather than fetched.

MODELeducational simulator

The /simulate simulators: illustrative, metaphor-driven animations of how each Monero privacy primitive works. This is the only non-live category — educational models, not network data.

NETWORKpublic node population

A census of the public Monero node population — how many nodes are reachable, and which versions and protocol features they advertise — sampled by monero.fail, a third-party node-health tracker. It is read server-side, through a same-origin /api/nodes proxy: your browser never talks to monero.fail directly, exactly as with every other source on this page — CSP here is connect-src 'self'.

It reports hosts, not locations: a count of reachable nodes and the software they run, never an IP-to-place mapping. This site names no node hosts. NODE, above, is different — it is telemetry from the one node cascade this site actually reads; NETWORK is a census of the nodes it does not.

why one panel is empty

Peer data

Peer topology — connection counts, the peer list, and latencies — requires a dedicated unrestricted node. The public node cascade this site reads runs restricted RPC: all peer fields report 0, and get_connections / get_peer_list are admin-only.

So that panel stays paused rather than showing zeros or invented topology, and it will populate the moment a dedicated node is pointed at the site. No peer data is fabricated in the meantime.

configuration vs. observation · two different questions

What this deployment answers

The two columns below answer different questions, and neither stands in for the other. The left column is what this deployment is wired to — env vars and file routes, read straight from /api/status — and it is not a reachability check: that endpoint cannot see whether any node actually answers, because on Vercel it runs as its own function with no way to read another function’s in-memory health state. The right column is what this browser has actually observed this session, live, from the same feed every other page on this site reads.

Configured · not a reachability check

Observed by your browser · this session, live

/api/xmr/mempoolNODE · loading
/api/xmr/feesNODE · loading
/api/xmr/tipNODE · loading
/api/xmr/networkNODE · loading
/api/xmr/blocksNODE · loading
/api/coingeckoCOINGECKO · loading
active · versioned maintenance
fetching github commits…

Release notes

Ordered by ship date, not version number — a point release such as v5.1.0 can land between v5.0.9 and v5.0.8, which is expected, not a bug.

v5.0.20
Stability cue (calm versioned release label), a no-JS / hardened-browser fallback, and this Data & sources page.
v5.0.19
Unified provenance vocabulary — one source badge (NODE / COINGECKO / SESSION / MODEL), rendered the same way on every data surface.
v5.0.18
Moved the “not live network data” disclaimer off the simulators and onto the node / peer surface where it belongs.
v5.0.17
Markets resilience — jittered 429 backoff-retry before falling back to last-good cache — plus the paused peer placeholder.
v5.0.14
Real-data purge: removed every simulated / illustrative surface; the educational simulators were code-split into the lazy /simulate chunk.