Onchain Privacy

Fluidkey protects
your privacy

Receive and manage funds onchain without publicly linking them to you.


One identity, a new address for every transaction

What if you could protect your onchain privacy without juggling a growing number of accounts?

With Fluidkey, each payment sent to your private ENS is automatically directed to a new address that only you can control.

12.27 ETH
0.45 ETH
0.67 ETH
0.12 ETH
1.21 ETH
0.98 ETH
0.34 ETH
0.76 ETH
0.53 ETH
0.89 ETH
0.61 ETH
0.47 ETH
1.05 ETH
0.28 ETH
0.39 ETH
0.99 ETH
0.05 ETH
1.12 ETH
0.44 ETH
0.16 ETH
0.76 ETH

A unified account

Manage your full balance in the Fluidkey dashboard and send payments without having to move funds between addresses.

Powered by

ENS logoSafe logo

Frequently asked questions

Fluidkey gives users the ability to receive payments while protecting their privacy.

We’ve built Fluidkey to be flexible and usable as a day-to-day privacy preserving wallet. This opens up a wide range of use cases. We have listed a few below:

  • Managing your personal funds

  • Receiving money from friends and family

  • Receiving your salary or freelance payments

  • Receiving product or service payments from clients

  • Receiving funding from investors

  • Crowdfunding or donations

Fluidkey is compatible with a wide range of wallets. Here is a non-comprehensive list of some of the wallets we support:

  • Metamask

  • Coinbase Wallet

  • Rainbow

  • Dawn

  • Any WalletConnect-compatible EOA or MPC wallet

You can also connect to Fluidkey with your Farcaster, Google, or email account.

Fluidkey is currently in closed alpha on Base, Optimism, Arbitrum, Polygon, and Ethereum mainnet.

We don't recommend using Fluidkey on Ethereum mainnet for payments below $10,000 due to high gas fees.

On a public blockchain like Ethereum, using a new address for every transaction is an effective strategy to maintain privacy. Juggling multiple addresses can however quickly become overwhelming. With Fluidkey, you have the privacy of a new address for every transaction without the headaches of managing all these addresses.

Fluidkey creates a new privacy-protecting smart account for every payment you receive thanks to the use of stealth addresses. We then bring all of these smart accounts together in a unified dashboard, giving you the experience and ease of managing a single wallet. For more details on how stealth addresses and Fluidkey work under the hood, check out How does Fluidkey work? below.

To explain how stealth addresses and Fluidkey work, we'll follow Alice, a Fluidkey user. Fluidkey helps Alice increase privacy for both herself and anyone sending money to her. Let's see how.


When Alice's friend, Bob, sends money to her, outsiders only see that Bob sent money to an address that has never been used before. They can't determine the recipient or the reason for the payment. Alice can control her funds without revealing her identity.

Introducing Stealth Addresses

When Alice signs up to Fluidkey, the system generates private viewing- and spending keys, as well as a stealth meta-address.

Let’s focus on the stealth meta-address for now. Think of this as a digital instruction manual to generate a unique, one-time use stealth address on Alice's behalf, without her having to do anything.

A stealth address is like an anonymous mailbox where:

  • Bob can send his payment

  • Only Alice can access and control the funds sent to it

  • No one else can link this address back to Alice

To the external observer, a stealth address just looks like any other address on the blockchain.

Automatic Generation of Stealth Addresses

Every time Bob clicks on Alice’s Fluidkey-enabled payment link, a new stealth address is automatically predicted, thanks to her stealth meta-address. When Bob sends his payment to this new address via Fluidkey, a smart account that only Alice can control but cannot be linked to Alice by an external observer is created at the predicted address.

Notification and Control: Viewing and Spending Keys

As mentioned earlier, Alice has two special keys:

  • A private viewing key which allows Alice to scan the blockchain for payments meant for her. Since scanning for payments on her own is tedious, she allows Fluidkey to use this key to notify her of incoming payments in real time.

  • A private spending key which is solely for Alice to control her funds. Fluidkey never asks for this key and can't access Alice’s money.

Managing Multiple Payments

With many payments coming in, managing multiple stealth addresses could get complicated. Fluidkey simplifies this by displaying all of Alice's funds in a unified dashboard, making it feel like a regular crypto wallet.

Spending Funds

When Alice wants to send money, Fluidkey automatically checks which of her stealth addresses has the right amount. If none do, it finds the best combination of addresses to fulfill the payment. For Alice, the experience remains simple, she approves the transaction just as she would in any other wallet. For the recipient of Alice’s payment the experience also stays simple, as she sees a single payment coming in.

Technical deep-dive

If you are interested in learning more about stealth addresses and the mathematical principles they are based on, we recommend:

Fluidkey uses stealth addresses to protect your privacy. Stealth addresses provide unlinkability, the fact that an external observer can’t link a receiver to a payment. This provides sufficient privacy for most use cases and enables a seamless user experience.

Contrary to most mixers and zero-knowledge privacy solutions, stealth addresses do not break traceability. With stealth addresses, it is straightforward to trace back the history of transactions that led the funds to the stealth address in which they are now.

In many use cases this is an advantage, as it makes it easy for Fluidkey users to disclose the origin of their funds to trusted third parties like tax authorities or auditors.

For developers

Coming soon

import { useGenerateStealthAddress } from '@fluidkey/react-sdk'; const { stealthAddress, generateStealthAddress } = useGenerateStealthAddress();

Enable privacy in your product

Enhance your users' privacy by integrating our React SDK in just a few lines of code.

About us

About us

At Fluidkey, we are focused on improving privacy preserving user experiences across public blockchains.

We are based in 🇨🇭 Switzerland,
a country with strong user data and privacy protection rights.


Fluid Privacy SA, 32 Corso San Gottardo, 6830 Chiasso, Switzerland