Zaply publishes its live odds and every bet slip as cryptographically signed events on the open Nostr network — so anyone can independently confirm a price or a bet was genuinely issued by Zaply and hasn't been altered or backdated. Here's how.
Live odds kind:30100 — each market's prices, re-signed on every update. Addressable, so updates replace in place (you always see the latest, with full history on the relay).
Bet slips kind:30200 — every accepted bet is
written as its own signed receipt keyed by bet id: the selection, the locked odds, the stake and
potential payout, the timestamp, and — so the price is provable — a reference to the exact
signed odds event it locked against (odds_ref = that event's id, and an a
coordinate) plus the price the punter said they saw (expected). (Your
payout Lightning address is never published.)
Opens a read-only viewer that connects straight to the relay and re-checks every signature in your own browser — live odds arrive tagged ✓ signed; anything that failed verification is counted as “unverified”.
🔎 Open the live verifierPoint any Nostr app (Damus, Amethyst, Coracle, noStrudel…) at the relay above, then look up Zaply's npub. The client fetches the same signed events and verifies them independently — neither Zaply nor the relay operator can forge or backdate one without the signature failing.
On the board, each line under “Your bets” has a 🔗 Nostr slip link — it opens that bet's signed receipt. That's your independent, timestamped proof of exactly what you backed and at what odds, held on the relay rather than only in Zaply's database.
For the technically inclined — fetch the events and check them with any NIP-01 library:
loading…
A genuine event returns true; change a single
digit of the odds and the same check returns false.
This is the airtight check. Your bet slip doesn't just state its odds — it points back to the exact signed odds event it locked against. So you can confirm the price you got was the price Zaply had published, not a number invented at settlement:
odds tag and the referenced
odds event id from the odds_ref tag.['price', <your selection>, …] tag.loading…
The slip and the odds event are signed by the same key, so neither the price nor the reference can be altered or backdated without the signature failing.
Note: live odds (kind:30100) are replaceable — each new price for a market replaces the last, so public relays keep only the latest. Once a market has ticked again, the exact version your slip references may no longer be served by a relay. The durable record is the signed reference on the slip itself (the locked price + the odds event id, both under Zaply's signature); Zaply can supply the archived odds event for that id on request.