Your money,
private by default

Open wallet
  • No seed phrase
  • Gas-free payments
  • Self-custodial
  • Open source
The zk.money Home screen in demo mode, beside the line “Everything you hold, in one place. Balance, requests and activity, without publishing any of it.”

Pay a tag, not an address

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.

  • Send crypto without sharing a wallet address: tags resolve to private accounts
  • Add a memo and a payments chat with every contact
  • Request funds from a tag and get notified when they are paid

Choose your zk.money @tag

Your tag bob .zk.money Tag available
Open wallet

Pay or get paid
without sharing an address

Send a paylink to anyone, whether they’re on zk.money or not.

  • Each request gets a fresh deposit address, so payments can’t be linked
  • A live QR code for paying in person
  • They can claim to zk.money or any Ethereum address

Earn on crypto privately

Move funds into your Savings account to earn a variable interest rate. You keep 100% of your interest.

  • No lockup. Move funds back to Main Account whenever you like.
  • See your savings grow in real time. Interest is automatically added to your savings.
  • Savings are private and non-custodial.

Privacy

Private by default

On a public chain

  • Your balance is public
  • Every amount is public
  • Everyone you pay is public
  • Your whole history, forever

On zk.money

  • Only you can read your balance
  • Amounts stay private between you and the recipient
  • No name reaches a chain
  • Your history is encrypted, only your wallet can read it

Passkeys

Your key is you

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.

Passkeys instead of seed phrases

Your passkey is your account. Worried about losing your account? Pick a passkey that syncs across devices automatically.

About passkeys
  • Passkeys are stored in your favorite password manager. iCloud Keychain, Google Password Manager, 1Password or a YubiKey 5 are all supported with more coming.
  • No more spoofing attacks. Your passkey only works on zk.money.
  • zk.money never has access to your passkey by design.

How it works

zk.money is a non-custodial wallet

Powered by the Aztec Network

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.

Only you can spend

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.

Open source & immutable

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

Questions, answered.

Does zk.money hold my funds?

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.

Who can see my payments?

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.

What if I lose my passkey?

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.

Do I need crypto to get started?

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.

Which assets can I use?

Deposit DAI, USDC or USDT from Ethereum, and withdraw to any Ethereum address. Your balance is shown in dollars.

Are there limits or fees?

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.

Where can I use it?

The web wallet runs in your browser. The desktop app runs the same wallet on your own computer.

Can I pay someone who does not have zk.money?

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.

How do I receive crypto privately?

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.

Is it open source?

Yes. The wallet, the contracts and the Oxide enclave are published, and anyone can run their own enclave or relayer.

Your money is
your business