Skip to main content
AVOID.NET
← avoid.net

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

  1. 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.
  2. 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.
  3. 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.

Sequence
#3
Score
183 (-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}