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_revise · Envar AI
- Sequence
- #4
- Score
- 40 → 26 (-14)
- Cluster
- mainnet-beta
- Slot
- 464245084
- Off-chain at
- 2026-11-01T21:34:29.812Z
- Anchored at
- 2026-11-01T21:34:56.000Z
- Block time
- 2026-11-01T21:34:56.000Z
Independent verification
- 1. Database (off-chain)
- 2nwAGN8ZgwLxc6o1U6F3Uc9fztNjb375cfaVZYhtrwf3
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1387 chars)
{"actor":"judge","artifact_identity":"6d78fd71da05868746ad62d06fad95a2","band_override":null,"decided_at":"2026-11-01T21:34:29.452Z","decision":"review_revise","delist_requested":false,"disputed_pct":0.5,"investigation_id":"c3ce9698-08dd-4582-990f-87da7c0afee5","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":26,"page_slug":"envar-ai","prev_score":40,"reason":"Two of the four claims on this page were confirmed on independent fetch and search (claim_findings[0], [1]): the envar.ai homepage is near-empty and no independent coverage exists. The other two could not be verified (claim_findings[2], [3]): the statement that no token exists was not checked against on-chain or token-registry sources, and the page refers to a requester's claim that readers cannot see. That puts 2 of 4 claims (50%) in the significant-issues band. No factual errors, omissions or status contradictions were found, and the reviewer's confidence was moderate (0.6), so the penalty is set at the mildest end of the band.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":-14,"score_limit":{"applied":-14,"limited":true,"proposed":-15,"rule":"limited_no_second_opinion","second":null},"sequence_num":4,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}