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_revise · Rhea Finance
- Sequence
- #4
- Score
- 54 → 54 (0)
- Cluster
- mainnet-beta
- Slot
- 464345288
- Off-chain at
- 2026-11-02T03:32:21.281Z
- Anchored at
- 2026-11-02T03:32:44.000Z
- Block time
- 2026-11-02T03:32:44.000Z
Independent verification
- 1. Database (off-chain)
- 5L6SwBZu9NDXbTfKKEyyeSegNCrjPfs9Ga7YYevu9cgm
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1962 chars)
{"actor":"judge","artifact_identity":"6ac2c0691c8ab3d16dccab38f5cb23b9","band_override":null,"blocked_count":1,"decided_at":"2026-11-02T03:32:21.021Z","decision":"review_revise","delist_requested":false,"disputed_pct":0.4286,"investigation_id":"75e439fb-33ad-4ea1-b87d-51dc3e5ec7f7","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":54,"page_slug":"rhea-finance","prev_score":54,"reason":"Of 7 countable claim findings (1 excluded as source_blocked), 1 was disputed (claim_findings[2], the Shevchenko message dated a day late) and 2 could not be found in sources (claim_findings[6], [7]), giving about 43% disputed or unverifiable. The summary recovery statement is stale (claim_findings[0]): later reporting from April 22, 2026 puts the shortfall near $0.4M with a pledge to cover it, not a large outstanding balance. The review also reports two material omissions, the discontinued margin product and the reopened DEX, and finds the page contradicts the protocol's current status. The core exploit account ($18.4M loss, root cause, attacker preparation) was confirmed by Tier 1 and Tier 2 sources, so the page is revised and put under investigation rather than failed.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":0,"scored_claims":7,"sequence_num":4,"severity_override":{"applied":true,"band":"significant","from_band":"significant","reason":"Two material omissions (margin trading permanently discontinued and DEX reopened; shortfall reduced to about $0.4M with a full coverage pledge) and subject_status.contradicts_page is true. The page's summary still describes a large unrecovered balance. The percentage band is already significant, so the override holds the verdict at significant and pushes the delta toward the harsher end of the range."},"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}