How it works

Called. Locked.
Revealed.

Netsy is built so you never have to take our word for it. Here is exactly what a call is, how it settles, and how to check one yourself.

What a call is

A call says another goal will be scored before half-time (HT) or before full-time (FT). That's all Netsy does: goals, in play, nothing fancy.

The line is the goals so far plus 0.5. At 1–0 in the 63rd minute, an FT call is over 1.5 goals: it wins if the match ends with two or more goals.

Average odds and P/L

At the moment of each call we record the market price from several sources and use their average. The record shows profit and loss in units: every call counts as one unit at that average price. A winning call at 2.11 is +1.11 units; a losing call is −1 unit. Voids are 0.

Why it's on the blockchain

Anyone can post winners after the fact. Netsy locks each call before the result, in a way that can't be faked or quietly deleted:

  1. When a call is made, the server writes it down (match, minute, score, period, line, odds, time) and adds a secret random number.
  2. It publishes only the SHA-256 hash of that text: a fingerprint that reveals nothing about the call.
  3. The hash is written to Solana, confirmed in about a second, which proves the time it was sent. It's also stamped into Bitcoin through OpenTimestamps, final within a few hours.
  4. When the call settles, we publish the exact text, reveal.txt. Its hash matches the fingerprint that was locked before the result.

Free users see the hash of a live call but not what it says. Pro members see the call itself in the app.

Check a call yourself

  1. On the record, download a call's reveal.txt and proof.ots.
  2. Hash the reveal: sha256sum reveal.txt on Mac or Linux, Get-FileHash reveal.txt on Windows. It matches the call's hash.
  3. Bitcoin: drop both files on opentimestamps.org, or run ots verify proof.ots -f reveal.txt. It shows the Bitcoin block that contains the call.
  4. Solana: open the call's Solana link. The memo reads netsy:<hash>, and its timestamp shows it was sent before the goal.

What we never do