Skip to main content
AVOID.NET
← avoid.net

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

  1. 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.
  2. 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.
  3. 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
View on Solana ↗
Sequence
#3
Score
22 (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}