{
  "event": "UFC Fight Night: Hooker vs. Parnasse",
  "date": "2026-09-05",
  "hash": "5eef3fbca00ddf1c0ffa569565d70128c0bc315ba2f5db160e8320f8ad1a2a6c",
  "salt": "ef53d80a7290ce942da109f9e1ffcbe0",
  "algorithm": "sha256(salt || canonical_board_json)",
  "committedAt": "2026-09-01T14:28:34-07:00",
  "canonical": "{\"date\":\"2026-09-05\",\"event\":\"UFC Fight Night: Hooker vs. Parnasse\",\"fights\":[{\"f1\":\"Daniil Donchenko\",\"f2\":\"Punahele Soriano\",\"method\":\"KO/TKO\",\"pick\":\"Daniil Donchenko\",\"prob\":0.6631},{\"f1\":\"Fares Ziam\",\"f2\":\"Axel Sola\",\"method\":\"Decision\",\"pick\":\"Fares Ziam\",\"prob\":0.6162},{\"f1\":\"Kurtis Campbell\",\"f2\":\"Trevor Peek\",\"method\":\"Decision\",\"pick\":\"Kurtis Campbell\",\"prob\":0.5933},{\"f1\":\"Mario Pinto\",\"f2\":\"Ryan Spann\",\"method\":\"Submission\",\"pick\":\"Mario Pinto\",\"prob\":0.6984},{\"f1\":\"Michael Page\",\"f2\":\"Nursulton Ruziboev\",\"method\":\"KO/TKO\",\"pick\":\"Nursulton Ruziboev\",\"prob\":0.6254},{\"f1\":\"Morgan Charriere\",\"f2\":\"Felipe Lima\",\"method\":\"Decision\",\"pick\":\"Felipe Lima\",\"prob\":0.5807},{\"f1\":\"Nora Cornolle\",\"f2\":\"Klaudia Sygula\",\"method\":\"Decision\",\"pick\":\"Klaudia Sygula\",\"prob\":0.6555},{\"f1\":\"Oumar Sy\",\"f2\":\"Modestas Bukauskas\",\"method\":\"Decision\",\"pick\":\"Oumar Sy\",\"prob\":0.6512}],\"model\":\"v4\",\"unscored\":[[\"Dan Hooker\",\"Salahdine Parnasse\"],[\"Delphine Benouaich\",\"Sofia Montenegro\"],[\"Fabia Sintes\",\"Michael Aljarouj\"],[\"Losene Keita\",\"Muhammad Naimov\"],[\"Luis Felipe Dias\",\"Matthieu Duclos\"],[\"Nathaniel Wood\",\"Pavel Andrusca\"]]}",
  "howToVerify": "sha256(salt + canonical) must equal hash. `canonical` is the exact UTF-8 string that was hashed before the card, containing every bout the model scored."
}