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.
Manage your full balance in the Fluidkey dashboard and send payments without having to move funds between addresses.
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 beta 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.
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.
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.
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.
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.
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.
If you are interested in learning more about stealth addresses and the mathematical principles they are based on, we recommend:
An incomplete guide to stealth addresses by Vitalik Buterin
A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography by Nick Sullivan
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.
Coming soon
import { useGenerateStealthAddress }
from '@fluidkey/react-sdk';
const {
stealthAddress,
generateStealthAddress
} = useGenerateStealthAddress();
Enhance your users' privacy by integrating our React SDK in just a few lines of code.
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.
hey@fluidkey.com|Twitter|Farcaster|Terms|Privacy
Fluid Privacy SA, 32 Corso San Gottardo, 6830 Chiasso, Switzerland