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_approve_with_notes · Clober Liquidity Vault
- Sequence
- #3
- Score
- 42 → 58 (+16)
- Cluster
- mainnet-beta
- Slot
- 443508878
- Off-chain at
- 2026-08-18T21:01:33.575Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- 9aBdEqa7VY4mtsswqzm45TEipjfDMYAvazEYUVF2FLJx
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (2676 chars)
{"actor":"judge","decided_at":"2026-08-18T21:01:33.406Z","decision":"review_approve_with_notes","investigation_id":"1a79704b-57a7-48c8-a46e-fc27bd4c6d12","new_score":58,"page_slug":"clober-liquidity-vault","prev_score":42,"reason":"This is a calibration-only adjudication: the page's core facts hold up (claim_findings[0,2,4,6,7] confirmed across independent post-mortems from CertiK, rekt.news, QuillAudits, SolidityScan; disputed_pct is 0), so no content-accuracy action is warranted beyond hedging language. The score, however, does not match the reviewer's calibration_assessment. The Dec 10, 2024 incident is attribution 'b' (suffered) per the reviewer: an external attacker exploited a reentrancy bug introduced in a post-audit code change, Clober disclosed quickly, confirmed the core protocol and other chains were unaffected, and offered a transparent on-chain bounty with no evidence of fraud, exit-scam behavior, or user deception. Per the rubric, a 'suffered' hack caps the entity at CAUTIONARY (50-69), not WARNING, so the current score of 42 is mis-banded relative to conduct. I agree with the reviewer's recommended score of 58: it sits in the lower-middle of CAUTIONARY, reflecting a material, negligence-flavored loss (~$501k from skipping re-audit of a late change, claim_findings[2]) offset by transparent disclosure, no fraud, and continued operation with no repeat incidents (coverage_gaps item 1). Notes: (Hedge or source the claim that the attacker moved funds to Tornado Cash and that negotiations failed on Dec 31, 2024 (claim_findings[3] and [8]) — no cited or independently searched source corroborates this; treat as unconfirmed until a source is found.) (Fix the internal date inconsistency between the summary ('launched ... in December 2024') and timeline[1] (announcement dated Nov 30, 2024) (claim_findings[1]).) (Add exculpatory/contextual coverage: Clober's core protocol and Arbitrum deployment were unaffected, and the project has continued active development and expanded to Monad and Starknet with no reported repeat incidents through 2026 (coverage_gaps, priority: high).) (Consider noting the attacker wallet's prior ~$77,000 ZeroLend/MAHA exploit (Dec 4, 2024) per CertiK, to help readers calibrate this as a serial-exploiter pattern rather than a Clober-specific security culture issue (coverage_gaps, priority: medium).) (Verify whether the live page sections render actual prose — all seven sections in the review input had empty content/heading fields (coverage_gaps, priority: medium).)","score_delta":16,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}