{"checked_at":"2026-11-09T14:16:52.452Z","reference":1409229,"spark_consensus":11,"spark_sethash_consensus":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","anonset_checked_at":"2026-11-09T12:25:50.470Z","endpoints":[{"id":"firo-core-0","name":"Firo Core electrumx","operator":"Firo Core","host":"electrumx.firo.org","port":50002,"used_by":["Campfire","Stack Wallet","Electrum-Firo"],"ok":true,"height":1409229,"latency_ms":446,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2027-01-27T10:27:38.000Z","tls_days_left":78,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":41628,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:19:37.380Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"firo-core-1","name":"Firo Core electrumx01","operator":"Firo Core","host":"electrumx01.firo.org","port":50002,"used_by":["Campfire","Stack Wallet","Electrum-Firo"],"ok":true,"height":1409229,"latency_ms":258,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2027-01-26T01:34:48.000Z","tls_days_left":77,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":42096,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:20:19.522Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"firo-core-2","name":"Firo Core electrumx02","operator":"Firo Core","host":"electrumx02.firo.org","port":50002,"used_by":["Campfire","Stack Wallet","Electrum-Firo"],"ok":true,"height":1409229,"latency_ms":771,"version":"ElectrumX 1.19.0","spark_latest_coin_id":null,"tls_valid_to":"2027-01-27T01:38:15.000Z","tls_days_left":78,"error":null,"lag":0,"spark_consistent":null,"anonset":{"ok":true,"ms":42308,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:21:02.215Z","source":"live","consistent":true},"status_reasons":["Spark coin id missing"],"status":"yellow"},{"id":"firo-core-3","name":"Firo Core electrumx03","operator":"Firo Core","host":"electrumx03.firo.org","port":50002,"used_by":["Campfire","Stack Wallet","Electrum-Firo"],"ok":true,"height":1409229,"latency_ms":979,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2026-12-28T01:39:00.000Z","tls_days_left":48,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":41838,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:21:45.432Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"stackwallet","name":"Stack Wallet","operator":"Cypher Stack","host":"firo.stackwallet.com","port":50002,"used_by":["Stack Wallet","Campfire","Electrum-Firo"],"ok":true,"height":1409229,"latency_ms":792,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2026-12-15T14:41:37.000Z","tls_days_left":36,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":42192,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:22:28.306Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"mathnodes","name":"MathNodes","operator":"MathNodes","host":"firo.mathnodes.com","port":50002,"used_by":["Electrum-Firo","Campfire","Stack Wallet"],"ok":true,"height":1409229,"latency_ms":784,"version":"ElectrumX 1.16.0","spark_latest_coin_id":11,"tls_valid_to":"2026-12-10T22:29:53.000Z","tls_days_left":31,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":18373,"coins":24660,"mb":19.44,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:23:11.339Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"firoblocks","name":"FiroBlocks ElectrumX","operator":"FiroBlocks","host":"electrumx.firoblocks.app","port":50002,"used_by":[],"ok":true,"height":1409229,"latency_ms":495,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2027-02-07T02:19:49.000Z","tls_days_left":89,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":39993,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:23:30.652Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"carover0","name":"Carover0 ElectrumX","operator":"Carover0","host":"carover0.xyz","port":50002,"used_by":[],"ok":true,"height":1409229,"latency_ms":839,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2027-01-21T05:09:46.000Z","tls_days_left":72,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":54285,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:24:11.210Z","source":"live","consistent":true},"status_reasons":[],"status":"green"},{"id":"ru-community","name":"Russian Community","operator":"Russian Community","host":"94.156.77.196","port":50002,"used_by":[],"ok":true,"height":1409229,"latency_ms":887,"version":"ElectrumX 1.19.0","spark_latest_coin_id":11,"tls_valid_to":"2026-11-15T23:03:20.000Z","tls_days_left":6,"error":null,"lag":0,"spark_consistent":true,"anonset":{"ok":true,"ms":43211,"coins":24660,"mb":32,"setHash":"jaqaHVLLy8QNz81Gsl0qM64BUV3M/zgg/slvRxbU2Mc=","group":11,"error":null,"at":"2026-11-09T12:25:06.329Z","source":"live","consistent":true},"status_reasons":["TLS expires in 6d"],"status":"yellow"}],"summary":{"total":9,"green":7,"yellow":2,"red":0},"stats":{"avg_latency":695,"median_latency":784,"probe_rtt_yellow_threshold_ms":5000,"fastest":258,"slowest":979,"max_lag":0,"reachable":9,"spark_group":11,"anonset_mb":30.6,"anonset_coins":24660,"anonset_ms":42096,"anonset_slow_threshold_ms":73668,"anonset_slow":0},"polling":false,"anonset_source":"live_refreshing","anonset_refreshing":true,"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":"fleet-relative: max(5000, 2.5× median probe RTT)","red_lag":100,"yellow_tls_days_left":14,"red_tls_expired":true,"note":"green requires Spark coin id present and matching; setHash match when anonset measurement exists. setHash mismatch alone yields yellow even at lag 0. TLS cert <14 days → yellow; expired → red."},"history":{"route":"/api/history","storage":"sqlite on always-on server (data/history.sqlite)","uptime_definition":"percent of samples with status=green (strict)"},"vs_height_only":{"height_only":["ok","height","lag"],"spark_extra":["spark_latest_coin_id","spark_consistent","anonset.*","spark_sethash_consensus"]}}}