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
- Sequence
- #2
- Score
- 0 → 0 (0)
- Cluster
- mainnet-beta
- Slot
- 443505895
- Off-chain at
- 2026-08-08T04:17:26.936Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- 7BT5kZsp7rNRRCGj5Ho2PKBXsMCN2bFKbNj7R2ex7oFh
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1294 chars)
{"actor":"reviewer","decided_at":"2026-08-08T04:17:26.848Z","decision":"review","investigation_id":"c49012e3-b93a-4bfd-8c00-35468b644e6f","new_score":0,"page_slug":"dprk-lazarus-april-2026-635m-blitz-drift-kelp-combined-campaign","prev_score":0,"reason":"The investigation is substantially accurate on core events: the Drift and KelpDAO hacks occurred as described, the dollar amounts and technical attack mechanisms are well-sourced, and the DPRK/Lazarus attribution is supported by multiple Tier-1 blockchain intelligence firms. Two material issues were found: the US court order timeline entry is misdated (listed as August 1 but the restraining order was issued May 1, 2026) and the claimants are mischaracterized as 'kidnapping victims' when they are terrorism creditors (a relative was killed, not kidnapped). The $635M upper bound is also likely a misattribution — that figure represents total April 2026 industry losses, not an estimate of slippage/liquidation from the two DPRK attacks specifically. The Aave bad debt ($177M) and ETH collateral (82,600 ETH) figures are internally contested across sources and should be treated as approximate.","score_delta":0,"sequence_num":2,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}