Verify the donation address
Vane publishes a donation address on every page. This page exists so you never have to take that on trust. Below is a message signed by the private key of that address, and three ways to check it that do not involve this website.
The claim
- Address
0xE02Ea884f7C9948fc853d501a37a797F808383a8- Domain
- vane.report
- Lens
- lens/vanedotreport
- Signed
- 5 August 2026
The signed message
Exactly these bytes, with no trailing newline. Any difference — a stray space, a changed line break — produces a different signature and the check below fails.
vane.report donation address attestation I control this address. It receives donations for Vane and owns the Lens account lens/vanedotreport. Address: 0xE02Ea884f7C9948fc853d501a37a797F808383a8 Domain: vane.report Lens: lens/vanedotreport Date: 2026-08-05
SHA-256 of that message:
ec272ba9a715cd6276a48ab5e7702448eeef2e4356cca6a0d85776ea90de947b
The signature
Signed with personal_sign. Recovering the signer from this signature and the
message above yields the donation address — that is the whole claim, and you can confirm it
without us using any of the three methods below.
0xc8b5d7483d8d0dcee62b75ac63ab34eb9a87badc4e261315316ad0f9a3c6a0c00b3594ecf5ed5ec080febff3d82fc96422c7f9fc947ef8e3e004b24f768e08f21c
How to check it yourself
1 — Etherscan
Open etherscan.io/verifiedSignatures, choose Verify Signature, and paste the address, the message and the signature. It recovers the signer independently of us.
2 — Foundry
If you have cast:
cast wallet verify --address 0xE02Ea884f7C9948fc853d501a37a797F808383a8 \ "$(cat message.txt)" 0x<signature>
3 — viem, in any Node shell
import { verifyMessage } from "viem";
await verifyMessage({
address: "0xE02Ea884f7C9948fc853d501a37a797F808383a8",
message: "<the exact text above>",
signature: "0x<signature>",
}); // true or false
What this does and does not prove
It proves that whoever published this page holds the private key to that address, at the time of signing.
It does not prove that the key is still held today, that it has not since been copied, or that donations sent there will be spent on anything in particular. A signature is evidence of control, not a promise about conduct.
The other identities are verifiable separately and by different means. The Bluesky account
is bound to this domain by a DNS record — run
dig +short TXT _atproto.vane.report and compare the DID against the account at
@vane.report. That one needs
no signature because DNS control is the proof.
Address poisoning is real: before sending anything, compare the first and last four characters against a second source. Transfers cannot be reversed.