New England II vs Chicago Fire II
MLS Next Pro · United States · 21 Jun 2026, 15:00 UTC
Proof this pick was locked in before kickoff
The pick was encrypted and published to three independent places before kickoff. You read it by decrypting that exact pre-published message with the key released only after the match. Each is a public, timestamped record — the Bitcoin one can't be altered or back-dated by anyone, including us.
1+/ORIH5DxAwgHm3IcVJE1dqra0ZSR0Eq9OyenirKga0rezqtBAVFNFoNq66GSSOuybbRVOri3m1yURC9aTEMHedw86SQi7xYWj+fEsNmHUpAyJzIlyHqSFTfmKPmq5dQOog5y2WHAaYtQBB6Ciir3iTblp6Bbt8PXS8t62y3mPfDXWRJXvl/snJ6sH6eFDGMAPJs66U7EWuvpPy/6LsnmjbR5iD2g4JVJZzYXSUvJnZwYKIajeFePfGvvbrxHTLQv39o8/k0OQ6+cr8rVCm7x7GcMfQun+GNYizlMCCsxyc5aX9I6h+GLY1prair7PwJLYd4/Us+jRMXhgZX94PtMho3RRxU5dPuQjtRnw=
5852ed062308fa34e6365b02d4304b75b942276f88a58220b31044eaff58682fDecrypt in CyberChef →
Verify it yourself — paste both values, no install
The Encrypted pick above is base64( nonce[12 bytes] + ciphertext + tag[16 bytes] ),
AES-256-GCM. Zero-install check: open your browser console (press F12 → Console),
paste this, press Enter — it decrypts the exact pick shown above:
const blob = Uint8Array.from(atob("1+/ORIH5DxAwgHm3IcVJE1dqra0ZSR0Eq9OyenirKga0rezqtBAVFNFoNq66GSSOuybbRVOri3m1yURC9aTEMHedw86SQi7xYWj+fEsNmHUpAyJzIlyHqSFTfmKPmq5dQOog5y2WHAaYtQBB6Ciir3iTblp6Bbt8PXS8t62y3mPfDXWRJXvl/snJ6sH6eFDGMAPJs66U7EWuvpPy/6LsnmjbR5iD2g4JVJZzYXSUvJnZwYKIajeFePfGvvbrxHTLQv39o8/k0OQ6+cr8rVCm7x7GcMfQun+GNYizlMCCsxyc5aX9I6h+GLY1prair7PwJLYd4/Us+jRMXhgZX94PtMho3RRxU5dPuQjtRnw="), c => c.charCodeAt(0));
const key = Uint8Array.from("5852ed062308fa34e6365b02d4304b75b942276f88a58220b31044eaff58682f".match(/../g).map(h => parseInt(h, 16)));
crypto.subtle.importKey("raw", key, "AES-GCM", false, ["decrypt"])
.then(k => crypto.subtle.decrypt({ name: "AES-GCM", iv: blob.slice(0, 12) }, k, blob.slice(12)))
.then(b => console.log(new TextDecoder().decode(b))); Prefer a GUI? The orange button opens CyberChef pre-filled. Or split the parts yourself for any AES-256-GCM tool:
- Algorithm:
AES-256-GCM - Key (hex):
5852ed062308fa34e6365b02d4304b75b942276f88a58220b31044eaff58682f - IV / nonce (hex):
d7efce4481f90f10308079b7 - Ciphertext (hex):
21c54913576aadad19491d04abd3b27a78ab2a06b4adeceab4101514d16836aeba19248ebb26db4553ab8b79b5c94442f5a4c430779dc3ce92422ef16168fe7c4b0d987529032273225c87a921537e628f9aae5d40ea20e72d961c0698b50041e828a2af78936e5a7a05bb7c3d74bcb7adb2de63df0d7591257be5fec9c9eac1fa7850c63003c9b3ae94ec45aebe93f2ffa2ec9e68db479883da0e09549673617494bc99d9c182886a378578f7c6bef6ebc474cb42fdfda3cfe4d0e43af9cafcad50a6ef1ec670c7d0ba7f863588b394c082b31c9ce5a5fd23a87e18b635a6b6a2afb3f024b61de3f52cfa344c5e18195f - Auth tag (hex):
de0fb4c868dd147153974fb908ed467c
Any standard AES-256-GCM tool returns the exact same pick — the algorithm is a public standard.
What exactly is in Bitcoin?
Not the pick — a 32-byte fingerprint (SHA-256) of the encrypted batch, written
into a Bitcoin block via OpenTimestamps. The .ots file in our GitHub repo proves this
exact encrypted message is committed to that block, whose mining time is set by the Bitcoin network
— nobody can backdate it. So the encrypted pick provably existed before kickoff.