<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MikeyH87</title>
    <description>The latest articles on DEV Community by MikeyH87 (@mikeyh87).</description>
    <link>https://dev.to/mikeyh87</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4083815%2F4493b146-a611-40bd-872c-84e1639d2283.png</url>
      <title>DEV Community: MikeyH87</title>
      <link>https://dev.to/mikeyh87</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikeyh87"/>
    <language>en</language>
    <item>
      <title>How ThesisBet seals football model calls with SHA-256 before kickoff</title>
      <dc:creator>MikeyH87</dc:creator>
      <pubDate>Tue, 18 Aug 2026 19:06:45 +0000</pubDate>
      <link>https://dev.to/mikeyh87/how-thesisbet-seals-football-model-calls-with-sha-256-before-kickoff-l8e</link>
      <guid>https://dev.to/mikeyh87/how-thesisbet-seals-football-model-calls-with-sha-256-before-kickoff-l8e</guid>
      <description>&lt;p&gt;ThesisBet is a football betting research desk, not a tipster. Before kickoff it publishes a SHA-256 fingerprint of that matchday's model calls. The calls stay hidden. After full-time the same canonical payload is revealed so anyone can recompute the digest.&lt;/p&gt;

&lt;p&gt;A screenshot of a winning slip can be made after the whistle. A hash published on a clock ThesisBet does not control cannot be edited afterwards without breaking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Morning fingerprint
&lt;/h2&gt;

&lt;p&gt;Each call is reduced to match id, market, selection, strength, and a rate to one decimal. The list is sorted, serialised as compact JSON, and hashed with SHA-256. That digest is printed on &lt;a href="https://thesisbet.com/verify" rel="noopener noreferrer"&gt;https://thesisbet.com/verify&lt;/a&gt; and the dated page, e.g. &lt;a href="https://thesisbet.com/verify/2026-08-17" rel="noopener noreferrer"&gt;https://thesisbet.com/verify/2026-08-17&lt;/a&gt;, and posted on X.&lt;/p&gt;

&lt;h2&gt;
  
  
  Independent clock
&lt;/h2&gt;

&lt;p&gt;The X timestamp is the clock ThesisBet does not operate. The post is the digest, not the selections.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reveal
&lt;/h2&gt;

&lt;p&gt;After the matchday ends, the dated verify page shows the committed payload next to the same fingerprint. Render-time fixture names and won/lost labels are not part of the hash input.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thesisbet.com/calls" rel="noopener noreferrer"&gt;https://thesisbet.com/calls&lt;/a&gt; ("Perfect Calls") is a filter: only fixtures where every sealed call won. It is not the full record. The full sealed set is /verify.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recompute
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Copy Canonical payload from a dated verify page.&lt;/li&gt;
&lt;li&gt;SHA-256 it (browser tool or &lt;code&gt;printf '%s' '&amp;lt;payload&amp;gt;' | shasum -a 256&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;It must match the fingerprint on that page and the morning X post.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Longer version: &lt;a href="https://thesisbet.com/blog/how-the-seal-works" rel="noopener noreferrer"&gt;https://thesisbet.com/blog/how-the-seal-works&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Desk definition: &lt;a href="https://thesisbet.com/about" rel="noopener noreferrer"&gt;https://thesisbet.com/about&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hashing</category>
      <category>cryptography</category>
      <category>webdev</category>
      <category>football</category>
    </item>
  </channel>
</rss>
