Open method · Version 1.0.0

Open Football Prediction Evidence Standard

A portable JSON contract for answering three separate questions: what was predicted, whether the supplied payload still matches its receipt, and what evidence—if any—places it in public before kick-off.

Canonical publication record

Abstract

An open, versioned JSON contract for preserving a complete pre-match 1X2 probability payload, reproducing its SHA-256 receipt, declaring publication evidence and appending a result without rewriting the original forecast.

Author and publisher
Football Proof AI
Technical report
football-prediction-evidence/1.0.0
Published
Last modified
Release status
Current release
Review status
Editorial technical note; not externally peer reviewed
Version history
  1. football-prediction-evidence/1.0.0 : Initial public release.
Immutable artifacts
  1. 1.0.0.json sha256:fb9016dd07b8a2db40f5f2f26177a2d90808c618e8fa66604b6f710188bffe78

Direct answer

How do you verify an AI football prediction?

Preserve the complete home/draw/away probabilities, fixture, kick-off, publication time and model version in one canonical payload; publish its SHA-256 before the match; retain an external public trail; and append the final score without rewriting the original payload. Verification must report each layer separately.

Proof layers

Six checks; six deliberately different conclusions

“Verified” is too vague. A useful audit names the exact claim that passed and leaves every stronger claim unearned.

What each evidence layer can and cannot establish
LayerPositive checkStill not proven
SchemaRequired fields and types are presentThat any value is historically true
ProbabilityHome, draw and away are each 0–1 and total 1Calibration or predictive skill
Timing arithmeticDeclared publication is before declared kick-offThat publication really occurred then
Payload hashThe supplied payload reproduces the stored digestWho created it or when it first existed
Public trailA forecast/archive/timestamp URL is declaredAuthenticity until that source is independently checked
SettlementScore, outcome and scoring math agreeResult provenance or a complete, unfiltered ledger

Record contract

The pre-match payload is immutable; later facts are appended

The receipt covers only canonicalPayload. A result is allowed later under settlement, but cannot silently alter the original probabilities, model version, publication time or kick-off used by the forecast.

forecastId
Stable identifier for one forecast record
fixture
Fixture ID, teams and RFC 3339 kick-off
model
Name, version and optional artifact/calibrator hashes
probabilities
Complete decimal home, draw and away distribution
publication
RFC 3339 publication time and exact lead seconds
receipt
SHA-256 of canonicalPayload under the named canonicalizer
publicTrail
Optional URLs; declared, never silently treated as authenticated
settlement
Optional append-only score, outcome, time and source URL

JSON Schema validates structure. Probability totals, timestamp ordering, lead-time equality, digest reproduction and score/outcome agreement are semantic checks performed by the verifier. JSON object member names must be unique before parsing; duplicate names are rejected instead of relying on parser-specific last-value rules.

Reproducible test vector

RFC 8785/JCS gives every implementation the same payload bytes

Reject duplicate object member names and unpaired Unicode surrogates, serialize finite I-JSON numbers and strings under the JSON Canonicalization Scheme, recursively sort object properties by UTF-16 code units and preserve array order. Timestamps in this profile use RFC 3339 with at most millisecond precision.

Input object{"z":1,"a":{"y":2,"x":3}}
Canonical bytes (UTF-8){"a":{"x":3,"y":2},"z":1}
SHA-2568dfc9dd8cb7fcc89c0a2770f644dd4a70d8e86394b12bc56c624e86e7e294974
Number + Unicode vector{"1":3,"huge":1e+30,"negativeZero":0,"€":2,"😀":1}
Boundary vector SHA-256069878040011b6cf13ec3e3368eeeb360de0b38f1347b92d7cb2957c7f18ecf1

Permanent version evidence

Version 1.0.0 has a stable artifact and content fingerprint

The current alias may advance in a future release. The versioned URL below is the permanent schema snapshot for this page, and its SHA-256 is calculated from the exact downloadable UTF-8 bytes.

Series
fpai:standard:football-prediction-evidence
Release
football-prediction-evidence/1.0.0
Published
Artifact
https://footballproofai.com/research/football-prediction-evidence-standard/1.0.0.json
Artifact SHA-256
fb9016dd07b8a2db40f5f2f26177a2d90808c618e8fa66604b6f710188bffe78
Canonicalizer
RFC8785/JCS

Non-claims

A valid receipt can still describe a bad or cherry-picked model

This release verifies one supplied record. It does not prove the operator published every forecast, retained every loss, used the claimed model, beat a bookmaker baseline or can generate profit. Collection completeness needs a gapless public manifest and independently anchored history; accuracy needs a complete settled sample and proper scoring rules.

  1. No independent timestamp by default.A self-declared time and matching hash can both be created after the event.
  2. No archive completeness proof.A single valid winner says nothing about omitted or deleted forecasts.
  3. No model certification.The model name and version are declarations unless artifacts are independently reproduced.
  4. No accuracy or profit guarantee.Integrity is a prerequisite for evaluation, not evidence of predictive skill.

Normative and comparative references

Standards used by the portable record

  1. JSON Schema Draft 2020-12.Core specification for the downloadable record shape.
  2. RFC 3339.Internet date and time profile for publication, kick-off and settlement.
  3. RFC 6234.SHA algorithms underlying the reproducible payload digest.
  4. RFC 8785.JSON Canonicalization Scheme defines deterministic payload bytes across conforming implementations.