Live · Non-Custodial · 100% Open Source

The Monero wallet that
lives in your browser.

Open your XMR from any device, on any network, with no installs. Every cryptographic operation runs locally in your browser — your seed phrase never crosses the wire.

Keys never leave the device Zero downloads Zero trackers MIT licensed
No wallet left behind

Every Monero seed format. One wallet.

Most browser wallets only handle one mnemonic standard. We support all four — including the legacy 13-word seeds nobody else has touched in years.

12 WORDS

BIP-39

Standard hardware-wallet mnemonic. PBKDF2-SHA512 → SLIP-0010 derivation along the Monero coin path m/44'/128'/0'.

Trezor · Ledger · Cake
13 WORDS

MyMonero Legacy

The 12-data + 1-checksum format used by MyMonero since 2014. Your old seed still works here, in any browser, forever.

MyMonero · Edge
16 WORDS

Polyseed

Modern compact format with embedded wallet birthday and forward-compatible feature flags. GF(2¹¹) checksum, 4-char prefix matching.

Feather · Monero GUI 0.18+
25 WORDS

Monero Standard

The original 24-data + 1-checksum format from monero-wallet-cli. Available in 13 languages, all loaded locally.

monerod · GUI · CLI
How it works

Three steps. No accounts. No emails.

There is nothing to sign up for. Open the page, paste your seed, and your wallet is loaded.

01

Enter your seed

Type or paste any of the four supported mnemonics — or a raw private spend key in hex. We auto-detect the format from the word count.

02

Keys derive locally

Your browser runs Keccak-256, ed25519 scalar mult, and the full key derivation chain. The page never makes a single network request that could leak your seed.

03

Use your wallet

See your address, generate subaddresses on demand, watch live network height from public Monero nodes, and receive payments via QR code.

Why trust it

Built the way a wallet should be built.

No frameworks. No build pipeline. No package supply chain to compromise. Just hand-written, auditable JavaScript and a few HTML files.

Keys stay local

Your seed and private keys are derived inside your browser tab. They are never serialised, never logged, never sent anywhere — not even to us.

Readable source

Plain HTML and JavaScript. No webpack, no minifier, no hidden transforms. Open DevTools and read the exact code that touches your keys.

Zero dependencies

The crypto engine is hand-written: Keccak-256, ed25519, base58, all four mnemonic codecs, BIP-39 / SLIP-0010, and polyseed. No npm tree to audit.

54 / 54 tests passing

The key derivation engine is verified against test vectors from the official Monero source for all 13 supported wordlist languages.

What's inside

Everything you need to receive XMR today.

Subaddress generation

Create unlimited account/index pairs to keep payments unlinkable.

Live network status

Daemon height, fee estimate, and tx-pool size from a pool of public Monero nodes.

QR-code receive

Generated client-side. The address never touches a third-party QR service.

Create new wallets

Generate a fresh 25-word seed in any of 13 languages using the browser's CSPRNG.

Import by private key

Skip the mnemonic and paste a 64-char hex spend key directly.

// monero-keys.js — derived locally in your tab
async function deriveFromAnyMnemonic(seed) {
  const count = seed.split(/\s+/).length;
  if (count === 12) return deriveFromBip39(seed);
  if (count === 13) return deriveMyMonero(seed);
  if (count === 16) return derivePolyseed(seed);
  if (count === 25) return deriveStandard(seed);
}

// → spendKey, viewKey, publicKeys, address
// Nothing leaves the browser. Ever.
FAQ

The honest answers.

If you have a question we haven't answered here, open an issue on GitHub.

Is this actually non-custodial?

Yes. Your seed and private keys never leave your browser tab. The wallet only talks to the network for read-only RPC calls (block height, fee estimate) — and those calls don't include any of your keys. You can verify this in DevTools → Network.

How is this different from MyMonero?

MyMonero is a light-wallet service: a server scans the blockchain on your behalf using your view key. We don't run any server. Right now we don't yet do output scanning at all — see "Can I send XMR?" below — but the trade-off is that we never see your view key either.

Can I send XMR from here?

Not yet. Sending Monero requires scanning the blockchain to find your spendable outputs, then constructing a ring-signature transaction client-side. We're building this in two stages: first an opt-in light-wallet integration (your view key, a server you can self-host), then full WebAssembly-based scanning so the whole thing runs in your tab. For now, you can receive XMR safely.

Why a web wallet at all? Aren't they less secure?

A web wallet you can read the source of is no less secure than a desktop app you can read the source of — both run code the developer wrote on hardware you control. The real risk with web wallets is supply-chain compromise. We mitigate that by having zero npm dependencies, no build pipeline, and serving static files with a strict CSP. You can also clone the repo and serve it locally.

Which browsers are supported?

Anything modern with SubtleCrypto and BigInt — Chrome, Firefox, Safari, Brave, Edge, Tor Browser. No special permissions, no extensions.

Are you going to add a token, NFT, or premium tier?

No. The wallet is MIT-licensed, free, and will stay that way. There is no token, no fee, no premium plan. If you want to support the project, star it on GitHub or contribute code.

Ready to open your wallet?

It takes about three seconds. There's nothing to install and no account to create.

Open Monero Web →