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_with_notes · PeopleDAO
View on Solana ↗
Sequence
#3
Score
42 → 48 (+6)
Cluster
mainnet-beta
Slot
443509267
Off-chain at
2026-08-19T04:00:08.955Z
Anchored at
—
Block time
—

Independent verification

1. Database (off-chain)
962ArQtoSb7xqeFAgwyNEhZiJWh2wFusG9TQewWcVCbr
2. Recomputed (your browser)
computing…
3. On-chain (Solana memo)
fetching…
Canonical bytes hashed (2066 chars)
{"actor":"judge","decided_at":"2026-08-19T04:00:08.702Z","decision":"review_approve_with_notes","investigation_id":"28b0aaa9-98f7-4552-b0ea-b8e96024fc77","new_score":48,"page_slug":"peopledao","prev_score":42,"reason":"This is a calibration-only adjudication; content accuracy was not disputed (disputed_pct 0.0%, 13/14 claims confirmed, 1 partially_supported on a ~2-week timeline date). The substantive incident is a March 2023 theft of 76.5 ETH (~$120K) enabled by PeopleDAO's own operational-security failure (a publicly editable payroll Google Sheet) rather than pure third-party exploitation of code outside the DAO's control — per the page's own scoring instruction, own-negligence in a still-operating, non-convicted entity places this correctly in the WARNING band (20-49), consistent with the reviewer's incident_attributions[0]. Within that band, strong mitigating post-incident conduct — public disclosure within a week, voluntary law-enforcement and exchange notification, cooperation with ZachXBT and SlowMist, a good-faith 10% bounty offer, a comparatively small absolute loss, and no recurrence in the 3+ years since — justifies moving toward the top of the band rather than the middle. I agree with the reviewer's recommended_score of 48 (current_score 42), a modest 6-point lift that keeps the band unchanged and reflects conduct rather than facts in dispute. Notes: (Correct the KuCoin delisting timeline entry: the announcement was dated Nov 11, 2025 with an effective window of Nov 17-21, 2025 (UTC), not Nov 1, 2025.) (Note in that same entry that KuCoin's delisting was a routine, simultaneous action across six unrelated tokens (C, FLR, HOME, SPK, PEOPLE, RESOLV), not a PEOPLE-specific risk signal.) (Regenerate the six page sections before publication confidence is placed in them — as delivered to review, all `heading` and `content` fields were empty, so section prose could not be fact-checked.)","score_delta":6,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}