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.
- Sequence
- #2
- Score
- 0 → 0 (0)
- Cluster
- mainnet-beta
- Slot
- 464360175
- Off-chain at
- 2026-11-02T04:25:35.066Z
- Anchored at
- 2026-11-02T04:25:57.000Z
- Block time
- 2026-11-02T04:25:57.000Z
Independent verification
- 1. Database (off-chain)
- CqtyfMyzxRR13urEcZC4y7EoXR4fRHcPviVjhh26tA2R
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1378 chars)
{"actor":"reviewer","artifact_identity":"1c9fb880c885d3ca5952f8d9b7aafc04","decided_at":"2026-11-02T04:25:35.017Z","decision":"review","disputed_pct":0.4167,"findings_hash":"HVyzf3gPwdLduB9inkhSSbRzcDPMC7MWsRcBA2QoHxHS","investigation_id":"9db43d3a-a8d1-4673-80c0-6669bcbe0419","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":0,"omissions":{"material":0,"total":1},"page_content_hash":"d98745c462c43e5c149c479a7bb7408c5a5659c201617c279ef520074b8f732f","page_slug":"rust-crypto-clipper-malware-fake-github-stars-campaign","prev_score":0,"reason":"Core facts match Check Point and secondary coverage: the Rust clippers, the address counts, the GitHub accounts, the SourceForge inflation and the 30-second watchdog. Errors are the Check Point publication date (June 17, not June 19, in prose and timeline), the Hacker News date, and the claim of over 15,500 Bitcoin addresses (the total is 15,500, Bitcoin about 15,000). 'Confirmed genuine' downloads overstates the source. Current status is unknown, and no takedown reporting was found.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":0,"sequence_num":2,"subject_status":"unknown","subject_status_contradicts_page":false,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}