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 · Sturdy V1
View on Solana ↗
Sequence
#3
Score
42 → 55 (+13)
Cluster
mainnet-beta
Slot
443508526
Off-chain at
2026-08-18T20:31:17.816Z
Anchored at
—
Block time
—

Independent verification

1. Database (off-chain)
368DFwkc1q1NoEDz4uzp9Syj21tGXzAt6eMjxoaKwkYP
2. Recomputed (your browser)
computing…
3. On-chain (Solana memo)
fetching…
Canonical bytes hashed (2845 chars)
{"actor":"judge","decided_at":"2026-08-18T20:31:17.666Z","decision":"review_approve_with_notes","investigation_id":"299815f1-eacc-4b93-ab24-10d1c6de9f95","new_score":55,"page_slug":"sturdy-v1","prev_score":42,"reason":"This is a calibration review: the page's core narrative (the June 12, 2023 read-only reentrancy exploit, ~442 ETH / ~$800K loss, Balancer oracle manipulation, Tornado Cash laundering, non-recovery, bounty offer, V2 relaunch) is confirmed by claim_findings[1-4] and [10-12] across multiple independent tier-1/tier-2 sources, with zero disputed findings. The single incident on this page is a 'suffered' external exploit (calibration_assessment.incident_attributions[0], attribution 'b'), not team fraud, self-dealing, or misrepresentation. The current score of 42 (WARNING) treats the mere fact of being hacked as if it were own-conduct fraud, which the rubric's own anti-conflation guidance and triage classification (attribution: suffered, fraud_evident: false) contradict. The reviewer's calibration_assessment recommends 55 (low-middle CAUTIONARY), weighing the disclosed-not-concealed audit scope exclusion, transparent crisis response, and V2 redesign against the permanent $800K loss and the ~4-month gap between Balancer's public vulnerability disclosure (claim_findings[10]) and the exploit during which recommended protections were reportedly not implemented. That balance is sound and I agree with it; the negligence signal keeps the score in the lower half of CAUTIONARY rather than higher, but does not rise to the fraud/misconduct threshold the WARNING band is meant to capture. The unsourced ZachXBT attribution (claim_findings[5]) is a real sourcing gap the reviewer flags as possibly fabricated, but the reviewer itself characterizes it as a page-quality issue rather than an entity-risk issue, so it does not change the score and is handled as a note rather than a content-accuracy revision. Notes: (Remove or properly source the ZachXBT attribution in the summary — no corroborating post or thread was found and it may be fabricated or conflated with another investigator's coverage.) (Confirm the exact Fantom mainnet launch day (timeline[0]); only the March 2022 month/year is independently corroborated.) (Confirm the Ethereum mainnet launch date (timeline[2]) and the V2 announcement date (timeline[7]) — cited Medium sources could not be fetched, and independent reporting suggests V2's actual go-live may be closer to early 2024 rather than July 2023 announcement date given.) (Consider adding coverage of attacker identity/law-enforcement outcome, current V2 security posture (fresh audit, continued Balancer dependency), and current TVL, per coverage_gaps.)","score_delta":13,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}