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 · KelpDAO / LayerZero Bridge Exploit (April 2026) — DPRK Lazarus
- Sequence
- #3
- Score
- 2 → 0 (-8)
- Cluster
- mainnet-beta
- Slot
- 443519513
- Off-chain at
- 2026-08-26T06:07:02.303Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- FkQpV1ACDHAXSWggXDdo8RcuEBupppd8gVEwaduqdgCH
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (2075 chars)
{"actor":"judge","decided_at":"2026-08-26T06:07:02.017Z","decision":"review_revise","investigation_id":"30fb1b89-f9c9-4690-8e88-091075aef49e","new_score":0,"page_slug":"kelpdao-layerzero-bridge-exploit-april-2026-dprk-lazarus","prev_score":2,"reason":"Of 46 claims checked, 34 were confirmed, 4 partially supported, 3 disputed, and 5 unverifiable, giving a disputed+unverifiable rate of about 17% (8/46) — solidly in the minor-issues band. None of the disputed items touch the page's core narrative: the attack mechanics, the DPRK/Lazarus attribution with its appropriate hedging, and the LayerZero-KelpDAO blame dispute are all confirmed and, per the review, handled more carefully here than on comparable pages covering the same event. The disputed items are secondary figures: an Aave borrow amount that appears overstated against consistent independent reporting (claim_findings[25], ~$236M vs ~$190M), a same-paragraph internal contradiction where the page states the Arbitrum freeze correctly as $71M twice but then restates it as $75M with no supporting source (claim_findings[35]), and a laundering statistic ($1.2B / 85% via THORChain) that appears to belong to the 2025 Bybit hack rather than the 2026 total it's attached to, and is arithmetically inconsistent with the page's own $577M combined figure (claim_findings[33]). The review also flags a high-priority gap: the page's timeline stops in May 2026 without saying whether Aave's bad debt was resolved or rsETH's peg restored, leaving the current financial exposure unclear (coverage_gaps[0]). This is a real omission for risk assessment but not a misrepresentation, so it does not move the case toward denial. A moderate downward score adjustment and a request to fix the three disputed figures and add a resolution update is warranted; outright approval isn't appropriate given the confirmed inconsistencies, but nothing here rises to a status change or delisting.","score_delta":-8,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}