WASM Keygrind
EVM vanity addresses, ground out in your browser by Go compiled to WebAssembly.
Every key is derived in this tab, from the browser's own cryptographic random source. Nothing is transmitted: there is no endpoint behind this page, and no request is made after the page itself loads. Disconnect the network once the grinder is ready and it keeps running.
What this costs. The module is 4.3 MB uncompressed — a Go binary carries its garbage collector and scheduler whether or not a program uses them, so a Rust build of the same grinder would be a fraction of it. It is fetched only when you press Launch, never on page load, and each worker holds its own copy of that runtime in memory.
Nothing on this page touches a chain.
Before you use a key from this page
This is a demonstration. A private key generated in a web page has been held in browser memory, on a machine whose other tabs and extensions you are trusting — treat anything generated here as disposable and do not fund it. Vanity generators have a history worth knowing: the Profanity tool derived keys from a seed narrow enough to be searched afterwards, and addresses funded from it were emptied. The defense is not this page's assurance, it is where the entropy comes from.
Keys here come from crypto.getRandomValues, by way of Go's crypto/rand. Go's WebAssembly bootstrap refuses to start at all when that source is unavailable, so there is no path on which this page quietly falls back to a weaker one.
- Address
- Private key
- Attempts
Shown once, here, and nowhere else — this page offers no download and no copy button by design. If you want it, select it.