Every market has one Settlement Card: a JSON file with the question, both sides, the frozen pair list of each cluster, the data sources, the formula and the timetable.
When the market is created, the sha256 of the card's canonical JSON is written into the market account on-chain. Canonical means every key sorted, no whitespace, UTF-8. The hash can never change, and nothing about a market changes after creation.
Every market page has Verify seal. It downloads the card, hashes it in your browser and shows both hashes side by side: MATCH or MISMATCH.
# the same check in a terminal
curl -s https://frontrun.markets/markets/<id>/card.json \
| python3 -c 'import sys,json,hashlib;c=json.load(sys.stdin);print(hashlib.sha256(json.dumps(c,sort_keys=True,separators=(",",":"),ensure_ascii=False).encode()).hexdigest())'