CIPHER RADAR

CONNECTING…
Every score signed by a secure element, verified in your browser · how to play →
  • Scanning relays for signed runs…
Next draw · every 1,008 blocks · each verified run = one ticket
Swarm
Kilometres Walked
Embers Held (swarm)
Runs Logged
Verified Devices
How verification works
Each run is a Nostr kind:1888 event. Three checks run client-side: (1) the event's schnorr signature proves the poster's key authored it; (2) the attest tag holds a P-256 signature from the device's secure element over score · walked · runs · level · time · nonce, bound to the poster's key — recomputed and verified here in your browser; (3) the attestation key is checked against the published registry of provisioned Favilla devices. A ✓ means all three passed. Scores without an attestation, or from unknown keys, are shown in the Live Feed but never ranked. Firmware without hardware attestation could in principle sign a fabricated score — every such "cheater" is a customer who reverse-engineered their own device. We think that's fair.
How the draw works
The draw is anchored to the Bitcoin chain — no server, no random.org, nothing to trust. Draw k happens at block height 959,192 + 1,008·k (1,008 blocks = one week of target time, expected around Thursday 00:08 UTC).

WEIGHT. Your chance is proportional to your weekly average score — the mean of your verified runs in the window. One brilliant run beats ten lazy ones; spamming lowers your average.

POOLS. Like mining: solo, or join a pool of up to five. A pool's weight is the sum of its members' averages — more chances to hit — and a win splits proportionally to each member's average that week. Expected value is unchanged; variance drops. To join, hit CREATE / JOIN POOL on the Pools tab — one click with a NIP-07 signer extension, or it shows you the exact kind:1889 event (tags ["t","favilla-pool"], ["pool","<name>"]) to publish from any client via your KEY's bunker. Your latest declaration wins; the first five keys naming a pool are its roster.

SETTLEMENT. When the draw block is mined (plus two confirmations) its hash seeds the draw: SHA-256(blockhash ‖ "FAVILLA-DRAW"), first 8 bytes as a number, mapped onto the total-weight line; whichever unit's segment it lands in wins. Sort order is lexicographic by unit id — fully reproducible from public data: bitcoin-cli getblockhash, the window's kind:1888/1889 events from any relay, and this arithmetic. The winner was decided by proof-of-work the moment the block was found — nobody, including us, could choose it or predict it.