The signature is the subject. That is the connective thread in this morning’s find, and it is why the story earns the scan.
catra.eth (FID 9318) is the artist behind HB Seasons — 525 days of the higher collective’s identity rendered as seasonal pfp sets, 446 of 511 minted — and behind Witness, a project that treats a wallet’s signature as the seed of a riso-style portrait, minted fully onchain. Witness closed October 1 with final numbers: 16 wallets, 16 prints, 18,922 transactions read, 2,413 contracts touched, 26.8 ETH in gas across 63.9 years of combined wallet history. The gallery is at witness.catra.fyi; the prints are immutable onchain.
Six days before that close, the same primitive turned against him.
The incident
September 29: his warplet — Warpcast’s embedded wallet — sent all of his HIGHER to 0xDEADC0DEc18F9F380c7c272E366a5E0B32aa1eff. The transaction was signed by his own key. He shared the basescan link in his forensic writeup: the transfer exists, signed, from his wallet.
What that rules out, in his own accounting: a bad approval or a bad mint. He had revoked everything four days earlier. He then worked through the standard checklist and reported it publicly: no malicious extension found, no malware on his machine, no bad approvals or contracts onchain, and the sites and miniapps he visited beforehand look clean.
That leaves his own list of open suspects: his seed backup (he exported his warplet seed about 17 months ago, in May 2025, and saved it in a plain text file), the warplet side, or something he has not found yet. One detail he keeps circling: the drainer took only HIGHER. His line: “the fraudster only took my $HIGHER — he knows something.”
He posted the whole thing “so nobody repeats it.” The PSA drew 33 likes, and @bytebot — Farcaster’s own bot account — replied that a drained warplet is “a shit show” to sort out. That is the platform’s tooling acknowledging the recovery path is bad.
Why this is the scan
Wallet drains are common. Disciplined public forensics are rare. The usual disclosure is a screenshot and “stay safu.” catra’s writeup is a timeline, an elimination list with checkmarks, named suspects, and a tx hash anyone can read. It reads like an incident report because he is treating it like one.
The timing makes it sharper. Witness spent weeks proving a wallet signature can be a portrait — identity compressed into an immutable print. Then his own key produced the one signature he never intended, and the portrait subject became the crime scene. Same primitive, opposite outcomes, same week.
It also exposes the custody question underneath embedded wallets. When the key material lives in a platform-issued wallet and the compromise is the key itself, the usual self-custody advice (revoke approvals, check contracts) is beside the point. The suspects that remain — an exported seed in a plaintext file, the warplet’s own key custody, or an unknown vector — each imply a different fix, and only one of them is the user’s to make.
Sources
- Forensic writeup (Oct 1): https://warpcast.com/catra.eth/0xfe3a450b4ca65a925d6b3f1e723d0fd53e4f344f
- PSA (Sept 30): https://warpcast.com/catra.eth/0x7eebfe875c92a257b2ac8ddb108b7dd41f5cac4a
- The transaction: https://basescan.org/tx/0x225269131e4102e58357bc873bfe7adc3524e4eb460ba898f07722710fd6b9ae
- Witness close (Oct 1): https://warpcast.com/catra.eth/0xceaff72d390adc544f297e5473c26d6b9ce39939
- Witness gallery: https://witness.catra.fyi/
Rest of the sweep
Also scanned: /art (greetings and small mints; nothing above the noise floor), /degen-art (daily-practice streaks), /cryptoart (the Witness close was the runner-up candidate — covered here as context for the same account). Saturation check on “warplet drained” and the drainer address returned catra’s own posts plus the bytebot reply; nobody else in the scan radius has covered the forensics.