PronosLab
EN
Log in

Verifiable transparency

Sealed predictions

Anyone can claim they got it right. We prove it: every prediction is sealed before kick-off and cannot be changed afterwards without it showing.

1We seal before kick-off

When a prediction is published we compute its digital fingerprint (SHA-256) from the probabilities, the pick and the time.

2The fingerprint goes public instantly

The fingerprint appears here from that moment. The content is revealed when the match starts.

3You check it

Press “Check”: your browser recomputes the fingerprint. If anyone had changed a number, it would not match.

108sealed predictions
26.2hbefore kick-off on average
100%of settled predictions are sealed
✓chain intact (108 seals)

87 of 87 predictions settled since we started sealing have a fingerprint from before kick-off.

Seals on 8 Nov 2026

  1. Le Havre – Lorient update 3 sealed Sun 8 Nov 14:30 · kick-off Sun 8 Nov 17:15
    3615b3640b8f3f5c8d43ed3c68637fa3462908af888754e7046a7bd27e19d033
    Show content and check
    {"scheme":1,"prediction_id":133,"fixture_id":85,"version":3,"competition":"Ligue 1","home":"Le Havre AC","away":"FC Lorient","kickoff_utc":"2026-11-08 16:15:00","pick_1x2":"2","prob_home":31.0,"prob_draw":29.0,"prob_away":40.0,"prob_over25":44.0,"prob_btts":47.0,"confidence":"low","sealed_at_utc":"2026-11-08 13:30:56","nonce":"657dc1fb58fffab3b21c8517ff6f9b39"}

    Previous fingerprint in the chain: 51b35129cef88ace829c03edbbffb293dc6fedf43aa210ae3425542fb36ac5ac

  2. Sabadell – Real Sociedad II sealed Sun 8 Nov 08:51 · kick-off Mon 9 Nov 20:30
    51b35129cef88ace829c03edbbffb293dc6fedf43aa210ae3425542fb36ac5ac
    Show content and check
    {"scheme":1,"prediction_id":130,"fixture_id":3501,"version":1,"competition":"LaLiga Hypermotion","home":"Sabadell","away":"Real Sociedad II","kickoff_utc":"2026-11-09 19:30:00","pick_1x2":"1","prob_home":49.0,"prob_draw":27.0,"prob_away":24.0,"prob_over25":50.0,"prob_btts":53.0,"confidence":"low","sealed_at_utc":"2026-11-08 07:51:52","nonce":"17242361238eeb21288efe39edec8fd5"}

    Previous fingerprint in the chain: 06871b31d00893ead36cc037e89682841fc04748a4af99d550a7afc512d0b99f

  3. Atlético Madrid – Barcelona update 2 sealed Sun 8 Nov 08:51 · kick-off Sun 8 Nov 21:00
    06871b31d00893ead36cc037e89682841fc04748a4af99d550a7afc512d0b99f
    Show content and check
    {"scheme":1,"prediction_id":128,"fixture_id":15,"version":2,"competition":"LaLiga","home":"Club Atlético de Madrid","away":"FC Barcelona","kickoff_utc":"2026-11-08 20:00:00","pick_1x2":"2","prob_home":26.0,"prob_draw":22.0,"prob_away":52.0,"prob_over25":73.0,"prob_btts":70.0,"confidence":"medium","sealed_at_utc":"2026-11-08 07:51:34","nonce":"aac586c7a2055b593b4d6430e75f479f"}

    Previous fingerprint in the chain: d12a40ddd16c8d50ca9364d588df8523c4144973ef072ddffb1c46a91f592347

  4. RC Lens – Marseille sealed Sun 8 Nov 08:51 · kick-off Sun 8 Nov 20:45
    d12a40ddd16c8d50ca9364d588df8523c4144973ef072ddffb1c46a91f592347
    Show content and check
    {"scheme":1,"prediction_id":126,"fixture_id":87,"version":1,"competition":"Ligue 1","home":"Racing Club de Lens","away":"Olympique de Marseille","kickoff_utc":"2026-11-08 19:45:00","pick_1x2":"1","prob_home":37.0,"prob_draw":26.0,"prob_away":37.0,"prob_over25":65.0,"prob_btts":63.0,"confidence":"low","sealed_at_utc":"2026-11-08 07:51:18","nonce":"a2c0f31ac609f770c85c92936e8aeb9f"}

    Previous fingerprint in the chain: a9b2c783400498b87dc0a8654c3106f7bee08ad7aa074c9d6daa856636524e22

  5. Vitória SC – Porto update 3 sealed Sun 8 Nov 08:51 · kick-off Sun 8 Nov 19:00
    a9b2c783400498b87dc0a8654c3106f7bee08ad7aa074c9d6daa856636524e22
    Show content and check
    {"scheme":1,"prediction_id":129,"fixture_id":122,"version":3,"competition":"Primeira Liga","home":"Vitória SC","away":"FC Porto","kickoff_utc":"2026-11-08 18:00:00","pick_1x2":"2","prob_home":22.0,"prob_draw":26.0,"prob_away":52.0,"prob_over25":45.0,"prob_btts":49.0,"confidence":"medium","sealed_at_utc":"2026-11-08 07:51:01","nonce":"ac6e5c65fe5c335bc2dacd9371996859"}

    Previous fingerprint in the chain: 8fb8aa14c8bf625bed75cf0e15269a38cb072dcd3b493cb1367a0497e5ad3678

  6. Brest – Lyon update 2 sealed Sun 8 Nov 08:50 · kick-off Sun 8 Nov 17:15
    8fb8aa14c8bf625bed75cf0e15269a38cb072dcd3b493cb1367a0497e5ad3678
    Show content and check
    {"scheme":1,"prediction_id":124,"fixture_id":84,"version":2,"competition":"Ligue 1","home":"Stade Brestois 29","away":"Olympique Lyonnais","kickoff_utc":"2026-11-08 16:15:00","pick_1x2":"1","prob_home":36.0,"prob_draw":28.0,"prob_away":36.0,"prob_over25":50.0,"prob_btts":54.0,"confidence":"low","sealed_at_utc":"2026-11-08 07:50:51","nonce":"a5884680f61c52ddef56b0acd0cd93e5"}

    Previous fingerprint in the chain: 9b62159ac8a817529fc157b7552ea0e7059ed5dd3a9fe5d155722648bad259b4

  7. 1. FC Köln – Leverkusen update 2 sealed Sun 8 Nov 08:50 · kick-off Sun 8 Nov 15:30
    9b62159ac8a817529fc157b7552ea0e7059ed5dd3a9fe5d155722648bad259b4
    Show content and check
    {"scheme":1,"prediction_id":131,"fixture_id":71,"version":2,"competition":"Bundesliga","home":"1. FC Köln","away":"Bayer 04 Leverkusen","kickoff_utc":"2026-11-08 14:30:00","pick_1x2":"2","prob_home":30.0,"prob_draw":24.0,"prob_away":46.0,"prob_over25":63.0,"prob_btts":62.0,"confidence":"low","sealed_at_utc":"2026-11-08 07:50:32","nonce":"43024721b4aba76484768c1ca096e6eb"}

    Previous fingerprint in the chain: cdc7806501c8a59b723829699a6579e9d7eaa4374164b6bdfc3bd807c3393670

  8. Elche – Real Betis sealed Sun 8 Nov 08:50 · kick-off Sun 8 Nov 14:00
    cdc7806501c8a59b723829699a6579e9d7eaa4374164b6bdfc3bd807c3393670
    Show content and check
    {"scheme":1,"prediction_id":127,"fixture_id":11,"version":1,"competition":"LaLiga","home":"Elche CF","away":"Real Betis Balompié","kickoff_utc":"2026-11-08 13:00:00","pick_1x2":"2","prob_home":31.0,"prob_draw":27.0,"prob_away":42.0,"prob_over25":55.0,"prob_btts":57.0,"confidence":"low","sealed_at_utc":"2026-11-08 07:50:15","nonce":"82b02fe9a953588f5796d5ed3e339b45"}

    Previous fingerprint in the chain: 5f8206426d6f3910fb6ecc7ec02151ab812dd9d887214a2438e0c7678ae2d104

Also as JSON: /api/v1/seals?date=2026-11-08

Daily anchors

Every day we post the chain's latest fingerprint on our Telegram channel. Telegram fixes the date, so not even we could rewrite the history.

Bitcoin witness (OpenTimestamps)

Besides Telegram, every daily fingerprint is recorded on the Bitcoin blockchain with OpenTimestamps, a free and open standard. Not even we can change the date: a Bitcoin block sets it.

Latest confirmed day: 10 Nov 2026 · Bitcoin block 975.362 (Wed 11 Nov).

To check it without trusting us, download a day's .txt and .ots files and drop them on opentimestamps.org · ots verify AAAA-MM-DD-pronoslab.txt.ots

Check it without our site

  1. Copy the previous fingerprint and the content exactly as shown, with no extra spaces.
  2. Compute the SHA-256 of the previous fingerprint followed by the content (any tool or the terminal will do).
  3. If the result equals the published fingerprint, the prediction is exactly the one sealed before kick-off.
printf '%s' "$PREV$PAYLOAD" | sha256sum