Passkeys instead of seed phrases
Your passkey is your account. Worried about losing your account? Pick a passkey that syncs across devices automatically.
Claim a tag like @bob and people can send money to your tag. Payments between zk.money tags stay private: no amounts, senders or recipients are public.
Choose your zk.money @tag
Send a paylink to anyone, whether they’re on zk.money or not.
Move funds into your Savings account to earn a variable interest rate. You keep 100% of your interest.
Privacy
Passkeys
Unlock your wallet with your face or fingerprint. Your face or finger is the key to send payments and it automatically syncs across your devices.
Your passkey is your account. Worried about losing your account? Pick a passkey that syncs across devices automatically.
How it works
zk.money is a privacy wallet for Ethereum. Your funds are stored as private notes on Aztec. Payments use zero-knowledge proofs on your device, revealing only their validity to the chain.
Every payment is signed by your passkey. No zk.money server holds keys to your wallet, so no one other than you can move your funds.
zk.money is open source software. The core Ethereum contracts are immutable, and anyone can run every core service, so the system keeps running without any centralized operator.
FAQs
No. zk.money is a self-custodial wallet. Only your passkey can sign a payment. A zk.money or Oxide service can refuse or delay a transaction, but none can move your funds. There is no admin role and no server with keys to your wallet.
zk.money is a private crypto wallet. A payment between two zk.money users is not public: no amount and no name reaches a chain. Deposits from Ethereum and withdrawals to Ethereum are public, like every Ethereum transaction. Your tag can be looked up, so treat it as public, but it reveals nothing about your balance or payments.
You lose the wallet. zk.money keeps no copy and there is no recovery. A passkey saved in iCloud Keychain, Google Password Manager or 1Password syncs to your other devices, and that sync is your backup. A security key holds the only copy.
Yes, as little as $1. Start with a random tag and activate your account with $1, or buy the tag you want for $5 and that purchase activates it. Deposit DAI, USDC or USDT on Ethereum, with a small deposit fee. After that, payments inside zk.money pay no network fees.
Deposit DAI, USDC or USDT from Ethereum, and withdraw to any Ethereum address. Your balance is shown in dollars.
Every deposit, payment and withdrawal stays below $5,000 at launch, and you can hold as much as you like. Payments inside zk.money cost no gas. Deposits, withdrawals and your tag carry small flat fees.
The web wallet runs in your browser. The desktop app runs the same wallet on your own computer.
Yes. Create a paylink and share it. The recipient can claim it into a new zk.money wallet or send it to any Ethereum address. The other way round works too: anyone can pay your request link from an ordinary Ethereum wallet.
Share your tag, a QR code or a request link to receive crypto privately. Each request gets a fresh deposit address, so payments can’t be linked.
Yes. The wallet, the contracts and the Oxide enclave are published, and anyone can run their own enclave or relayer.