Verify a decision
Every moderation decision on AVOID.NET is anchored to the Solana blockchain. You don't have to trust us — you can verify cryptographically that we committed to a verdict at a specific moment and have not rewritten it.
How verification works
- We commit. When a moderator accepts/rejects a submission, we serialize the decision into deterministic UTF-8 bytes (
payload_canonical_string), hash it with SHA-256, encode the digest as base58, and write it to Solana inside an SPL Memo v2 transaction. - We store the bytes. The exact bytes we hashed are stored alongside the decision in our database. Anyone can read them and recompute the hash in any language.
- You compare three values. Database hash, your independently-recomputed hash, and the hash inside the on-chain memo. If all three match, the decision is authentic and timestamped.
The on-chain memo format is
AVOID.NET|v1|h:<b58-sha256>|d:<id>|t:<iso>Find a signature on any investigation page's decision log, or run python -m src.verify_decision --signature <sig> for a CLI check.
Decision
review_approve · Elmin Redzepagic
- Sequence
- #3
- Score
- 2 → 2 (0)
- Cluster
- mainnet-beta
- Slot
- 443520088
- Off-chain at
- 2026-08-26T11:01:58.747Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- FrNLdGok75Bpx8tQmpmq7EQTvj8k24tsi2fW3vpgSc2
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1644 chars)
{"actor":"judge","decided_at":"2026-08-26T11:01:58.434Z","decision":"review_approve","investigation_id":"624fb310-262c-403e-9a4c-7be741863530","new_score":2,"page_slug":"elmin-redzepagic","prev_score":2,"reason":"The reviewer independently checked all 19 atomic claims on this page (the summary's stated total of 18 undercounts the actual claim_findings array by one, an internal tally error) against DOJ/IRS press releases and multiple independent outlets, and found every claim confirmed with zero disputed, unverifiable, stale, or dead-link findings, giving a disputed_pct of 0%. Critically for a named-individual page, the reviewer did not just rubber-stamp: it verbatim-quote-checked the 'the Chef' paraphrase against its source (claim_findings[6]), verified the biographical basketball details trace to a named news article rather than an unsourced or AI-generated summary (claim_findings[10]), independently re-confirmed the arithmetic behind the '375 years' exposure figure and flagged a separate AI-summarization artifact it rejected (claim_findings[2]), and specifically searched for any bond revocation or status change through the review date (claim_findings[3], claim_findings[11]). No coverage gap is rated high priority, so open gaps (docket number, civil litigation, defense narrative) support future expansion rather than any penalty. The tally miscount is a minor process defect that does not conceal any disputed substance, since all 19 line items are independently marked confirmed.","score_delta":0,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}