{"checked_at":"2026-08-10T22:15:35.058Z","reference":1356875,"spark_consensus":10,"spark_sethash_consensus":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","anonset_checked_at":"2026-07-23T21:55:00.000Z","endpoints":[{"id":"firo-core-0","name":"Firo Core electrumx","operator":"Firo Core","host":"electrumx.firo.org","port":50002,"ok":true,"height":1356875,"latency_ms":120,"version":"ElectrumX 1.19.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":43606,"coins":19263,"mb":32,"setHash":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","group":10,"error":null,"consistent":true},"status":"green"},{"id":"firo-core-1","name":"Firo Core electrumx01","operator":"Firo Core","host":"electrumx01.firo.org","port":50002,"ok":true,"height":1356875,"latency_ms":269,"version":"ElectrumX 1.19.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":40284,"coins":19263,"mb":32,"setHash":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","group":10,"error":null,"consistent":true},"status":"green"},{"id":"firo-core-2","name":"Firo Core electrumx02","operator":"Firo Core","host":"electrumx02.firo.org","port":50002,"ok":true,"height":1356875,"latency_ms":384,"version":"ElectrumX 1.19.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":26910,"coins":19262,"mb":32,"setHash":"5fRdbAqzvvVV3zhI7BktIDlWYevzmH52+rjzSdR0ReE=","group":10,"error":null,"consistent":false},"status":"yellow"},{"id":"firo-core-3","name":"Firo Core electrumx03","operator":"Firo Core","host":"electrumx03.firo.org","port":50002,"ok":true,"height":1356875,"latency_ms":977,"version":"ElectrumX 1.19.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":36166,"coins":19263,"mb":32,"setHash":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","group":10,"error":null,"consistent":true},"status":"green"},{"id":"stackwallet","name":"Stack Wallet","operator":"Cypher Stack","host":"firo.stackwallet.com","port":50002,"ok":true,"height":1356875,"latency_ms":411,"version":"ElectrumX 1.19.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":20910,"coins":19263,"mb":20.24,"setHash":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","group":10,"error":null,"consistent":true},"status":"green"},{"id":"mathnodes","name":"MathNodes","operator":"MathNodes","host":"firo.mathnodes.com","port":50002,"ok":true,"height":1356875,"latency_ms":382,"version":"ElectrumX 1.16.0","spark_latest_coin_id":10,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":20297,"coins":19263,"mb":20.24,"setHash":"6Np05xP5YlzGR+1hvj77HgFmx0Giem7gDgjo24fXO3U=","group":10,"error":null,"consistent":true},"status":"green"}],"summary":{"total":6,"green":5,"yellow":1,"red":0},"stats":{"avg_latency":424,"median_latency":383,"fastest":120,"slowest":977,"max_lag":0,"reachable":6,"spark_group":10,"anonset_mb":28.08,"anonset_coins":19263,"anonset_ms":31538,"anonset_slow":6},"polling":false,"anonset_source":"snapshot","meta":{"purpose":"Shared fleet telemetry for public Firo Electrum backends: tip freshness, Spark coin group and setHash consistency, and anonymity set fetch health.","audience":["firo_community","wallet_and_mobile_developers","electrum_operators","core_and_tooling"],"complements":"Wallet Electrum clients talk to one host. This API watches the curated public fleet so the Firo community can share tip and Spark health without each app re downloading a full anon set for monitoring.","not_for":["in_wallet_server_picker","replace_wallet_electrum_or_spark_sdk","user_device_rtt_ranking","authoritative_chain_state"],"docs":"/api/docs","spark":"/api/spark","ci":"/api/ci","latency_note":"latency_ms is probe RTT from this monitor only. Secondary to lag and Spark consistency. Not user device RTT.","probe_region":"single region monitor host","probes":{"light":["server.version","blockchain.headers.subscribe","spark.getsparklatestcoinid"],"heavy":["spark.getsparkanonymityset"]},"status_rules":{"green_max_lag":2,"yellow_probe_rtt_ms":3000,"red_lag":100,"note":"green requires Spark coin id present and matching; setHash match when anonset measurement exists. setHash mismatch alone yields yellow even at lag 0."},"vs_height_only":{"height_only":["ok","height","lag"],"spark_extra":["spark_latest_coin_id","spark_consistent","anonset.*","spark_sethash_consensus"]}}}