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 · Makina Finance
- Sequence
- #5
- Score
- 52 → 52 (0)
- Cluster
- mainnet-beta
- Slot
- 462188054
- Off-chain at
- 2026-10-27T19:24:25.436Z
- Anchored at
- 2026-10-27T19:25:00.000Z
- Block time
- 2026-10-27T19:25:00.000Z
Independent verification
- 1. Database (off-chain)
- F2erkw48GiZbVwzBJNxqxK1FPCZC1KGnGDbcJHemYnBm
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (1502 chars)
{"actor":"judge","artifact_identity":"b8c141856861dc731b4f42a1bd2e8c55","band_override":null,"blocked_count":1,"decided_at":"2026-10-27T19:24:25.118Z","decision":"review_revise","delist_requested":false,"disputed_pct":0.1,"investigation_id":"c25b7ed2-b6ed-408c-a13a-d20999d0edd3","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":52,"page_slug":"makina","prev_score":52,"reason":"Of 11 claim findings, one was excluded because its source blocked the reviewer, leaving 10 scored. One of those (claim_findings[4]) could not be verified, which puts the disputed share at 10%, on the line between the approve and minor-issues bands. The core incident account (date, 1,299 ETH / $4.13M, flash loans, six audits, the Cantina exclusion, v1.1 upgrade) was confirmed, but the claim that over $3.65M (about 89%) was recovered and distributed, which also appears in the page summary, is not supported by any source the reviewer read, and the reviewer rated that coverage gap high priority. A smaller discrepancy (claim_findings[3]) gives 1,023 ETH where Rekt says 1,062 ETH. The penalty is kept small because the reviewer's confidence is moderate, no omissions were found, and the subject appears to still be operating.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":0,"scored_claims":10,"sequence_num":5,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}