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
- Sequence
- #3
- Score
- 18 → 3 (-15)
- Cluster
- mainnet-beta
- Slot
- 443523364
- Off-chain at
- 2026-08-27T03:46:57.959Z
- Anchored at
- —
- Block time
- —
Independent verification
- 1. Database (off-chain)
- HDNsRP5VDh6RrXj9TBqtmgZY7WDrZYBUpwKHHoDMTBP9
- 2. Recomputed (your browser)
- computing…
- 3. On-chain (Solana memo)
- fetching…
Canonical bytes hashed (2046 chars)
{"actor":"judge","decided_at":"2026-08-27T03:46:57.657Z","decision":"review_revise","investigation_id":"c3596645-7c79-4441-af5c-31779a8dc309","new_score":3,"page_slug":"coldcard-coinkite-firmware-seed-generation-exploit-july-august-2026","prev_score":18,"reason":"Verification (48 claims: 36 confirmed, 1 partially supported, 2 disputed, 5 unverifiable, 4 stale, 0 link rot) puts disputed_pct at 14.6%, which falls in the review_revise band. The page's technical description of the vulnerability -- root-cause commit, the entropy mechanics, and affected firmware ranges -- holds up against Coinkite's own advisory and an independent engineering writeup, and the page correctly keeps the near-total-determinism case (older devices) separate from the bounded-entropy case (newer devices) rather than blurring the two (claim_findings[0-9]). The page's most consequential weakness is that its headline loss figures (1,367 BTC / $88.6M / 4,585 addresses) were accurate as of August 2, 2026 but have since been superseded by well-corroborated reporting of a fourth attack wave and a running total of roughly $116-130M across 5,200-7,300+ addresses through at least mid-August -- an ongoing theft understated by close to half (claim_findings citing stale verdicts on the total-loss and wave-count claims). A secondary issue: the page states Wave 1 and Wave 2 shared an identical fee fingerprint, which overstates the researcher's own hedged finding that the fee constant actually differed between waves (the two disputed findings). Two high-priority coverage gaps -- failing to track the incident's continued escalation, and omitting Coinkite's shipment halt and inventory destruction -- reinforce that the page needs updating rather than denial or a clean pass. None of this amounts to fabrication or theoretical exposure being dressed up as real loss; the theft is real and accurately characterized as such.","score_delta":-15,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}