Search for projects by name or address
A stealth-address wallet that receives every payment on a fresh Safe, with optional yield and bank transfers.
A stealth-address wallet that receives every payment on a fresh Safe, with optional yield and bank transfers.
Fluidkey is a wallet that gives the user a fresh receiving address for every payment and shows them all as one account. Payers use the user’s name, like l2beat.fkey.eth, and each lookup returns a new address. Outsiders see separate payments, while Fluidkey sees all of them.
The user trusts Fluidkey, which holds a key that sees all their addresses, runs the closed-source app and submits every send. If the user signs in with Google or Apple on the web, Privy also takes part in creating their keys. The user’s funds sit in Safes that only they control, and an open recovery app withdraws them without Fluidkey.
The user’s keys come from a wallet signature and a four-digit PIN. On the web, that wallet is usually a Privy wallet behind the user’s Google or Apple login. Privy’s code creates the signature, and Privy holds part of the wallet’s key. The user can connect their own wallet instead, and the mobile apps create keys on their device. Fluidkey gets a viewing key that shows all the user’s addresses, while only the user can spend.
The web and mobile apps are closed source. The web app reads the chain only through Fluidkey’s servers. Outside services see the user’s login (Privy), username (Intercom, for support) and app errors (Sentry). Banking and identity checks use Noah, BridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge., Persona and Sumsub. For recovery, two open tools work without the app: the stealth account kit creates addresses, and the recovery app finds and withdraws the user’s funds through any RPC.
With auto-earn on, Fluidkey deposits incoming tokens into yield vaults without repeated user approval. Fluidkey’s multisig decides which vaults are offered, and the user’s Safe switches to a new set only when they choose. The user can turn auto-earn off, while money already deposited keeps the vaults’ risks and withdrawal limits.
Fluidkey computes a score for each account, partly from its balance. When the user claims it in the app, a token on Base that cannot be transferred goes to a separate stealth address of their account. That address holds nothing else, but it shows publicly that someone uses Fluidkey.
Bank transfers through Noah need identity verification. Hide Trail, an optional route for more privacy, sends funds through Houdini and two exchanges, which see the route and can hold the funds.
Auto-earn is free. Sends are free for 20 transactions a day on every chain but Ethereum, where gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. is paid in ETH or a supported token. Bank transfers are free up to 20,000 USD or EUR a month, then cost 0.6% in and 0.25% out, per the docs.
What the protocol promises: Hides which account a receiving Safe belongs to. The payer knows the address it was given; sender, asset, amount and where the funds go next are public.
Ethereum is public by default. Each protocol is rated on its main privacy promise, like hiding who paid, who received, how much, or which deposit became which withdrawal. Against each adversary, the colour says whether it holds for a careful user with the app's own settings: green yes, yellow only with significant extra work, red no. Fields marked at risk stay private only under the condition in their note.
Each payment reaches a fresh Safe, and nothing onchain names the account behind it. A send that draws from several of the user’s Safes shows onchain that they belong together.
Advice: Generate a fresh address for each receive, label payments by payer and send from one label at a time, and send to destinations with no public link to the user.
At least 2,204 accounts have claimed Fluidkey’s ‘score’ token, giving a lower bound of the anonymity setIn privacy protocols, anonymity set denotes all users, to which a particular withdrawal could be plausibly attributed. Anonymity set depends on a particular withdrawal, the size of the anonymity set is a metric for level of user's privacy.. A Safe looks like any new address until Fluidkey’s relayer spends from it or deposits its funds for auto-earn. A claimed score sits on its own stealth address that holds nothing else, and its amount grows partly with the account’s balance.
Advice: Ask for a new address for each payment, also when it arrives on another chain.
The app is closed source with no open alternative, so what it sends to third parties is up to Fluidkey and can change at any time. Today, the web app reads the chain only through Fluidkey’s servers and gives outside services just the user’s login and username. A payer who looks up the user’s name through a third-party RPC shows it that name and the new address.
Fluidkey holds the viewing key, so it can regenerate every address and tie its activity to the user’s account. It also runs the closed-source app that handles the user’s keys. With Google or Apple login on the web, Privy’s code creates the signature the user’s keys come from. Bank transfers add the user’s verified identity, and Hide Trail shows the user’s route to Houdini and two exchanges.
No announcement is published, so address derivations cannot be replayed from the chain alone. Accounts created from a wallet signature reduce to that wallet’s key plus a four-digit PIN.
Advice: Connect a new wallet that has never sent a transaction instead of logging in with Google or Apple.
Fluidkey changes its app, API, name gateway, indexer and relayer at will, without notice onchain.
The OffchainResolver is immutable. Its owner, the Fluidkey Resolver Multisig, can instantly change where name lookups are answered and which keys may sign the answers. A signer can return any address for a name. This affects new lookups only, since existing Safes stay under their owners’ keys.
The Fluidkey Earn module is immutable on each chain. Its owner, the Fluidkey Earn Owner multisig, publishes vault sets and chooses the relayers, which can also add or remove other relayers. An existing Safe moves to a new vault set only by its own call.
Added the FluidkeyScore token on Base, whose holder count bounds the number of accounts. Added the SmartAccountRelayer on all six chains, through which Fluidkey submits sends and auto-earn deposits. Moved OffchainResolver and FluidkeyEarnModule from config overrides into templates, with no value changes.
Added the FluidkeyScore token on Base, whose holder count bounds the number of accounts. Added the SmartAccountRelayer on all six chains, through which Fluidkey submits sends and auto-earn deposits. Moved OffchainResolver and FluidkeyEarnModule from config overrides into templates, with no value changes.
| + | Status: CREATED |
| contract SmartAccountRelayer (arb1:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
| + | Status: CREATED |
| contract SmartAccountRelayer (base:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
| + | Status: CREATED |
| contract FluidkeyScore (base:0x894c663757f6953544548EFA1aebc0846AC08bEa) [fluidkey/FluidkeyScore] | |
| +++ description: Non-transferable ERC-20 score that Fluidkey's distributor allocates to its users, based partly on their total balance. Only the owner and whitelisted senders can transfer it. | |
| + | Status: CREATED |
| contract SmartAccountRelayer (eth:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
| + | Status: CREATED |
| contract SmartAccountRelayer (gno:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
| + | Status: CREATED |
| contract SmartAccountRelayer (matic:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
| + | Status: CREATED |
| contract SmartAccountRelayer (oeth:0x8090a9DB6Aca56fFA186C75Ca0787B18af1058a0) [fluidkey/SmartAccountRelayer] | |
| +++ description: Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner's signature. | |
Initial discovery of the Fluidkey ENS resolver, its owner and signers, and the auto-earn module and its permissions on Ethereum, Base, Arbitrum, Optimism, Polygon PoS, and Gnosis.
Initial discovery of the Fluidkey ENS resolver, its owner and signers, and the auto-earn module and its permissions on Ethereum, Base, Arbitrum, Optimism, Polygon PoS, and Gnosis.
| + | Status: CREATED |
| contract FluidkeyEarnModule (arb1:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (arb1:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract FluidkeyEarnModule (base:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (base:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract FluidkeyEarnModule (eth:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract OffchainResolver (eth:0x9AcF316290AaA62edafdDDaC48B124032C36EB3c) [N/A] | |
| +++ description: Immutable ENS CCIP-Read resolver used by Fluidkey. Every query redirects to a configurable gateway and accepts the returned ENS record if it is unexpired and signed by an accepted signer. It does not verify that a returned payment address was derived for the named recipient. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (eth:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract Fluidkey Resolver Multisig (eth:0xdcC34c0da55cEF7AeD38Bb749AD97DAC12A9936C) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract FluidkeyEarnModule (gno:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (gno:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract FluidkeyEarnModule (matic:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (matic:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |
| + | Status: CREATED |
| contract FluidkeyEarnModule (oeth:0x3BDb857AFe9b51d8916D80240d2ADe40D4d3f2f9) [N/A] | |
| +++ description: Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe's configuration hash, with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe. | |
| + | Status: CREATED |
| contract Fluidkey Earn Owner (oeth:0x9E3eba321427941868cB4123De97DAB145C9e7CD) [GnosisSafe] | |
| +++ description: None | |

A Multisig with 2/3 threshold.
A Multisig with 2/3 threshold.
A Multisig with 2/3 threshold.
A Multisig with 3/5 threshold.
A Multisig with 2/3 threshold.
A Multisig with 2/3 threshold.
A Multisig with 2/3 threshold.


Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.
Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.
Non-transferable ERC-20 score that Fluidkey’s distributor allocates to its users, based partly on their total balance. Only the owner and whitelisted senders can transfer it.
Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.
Immutable ENS CCIP-Read resolver used by Fluidkey. Every query redirects to a configurable gateway and accepts the returned ENS record if it is unexpired and signed by an accepted signer. It does not verify that a returned payment address was derived for the named recipient.
Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.
Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.
Safe module used for Fluidkey auto-earn. Authorized relayers can deposit tokens into the vault selected by the Safe’s configuration hashA fixed-length fingerprint of variable-size input, produced by a hash function., with vault shares credited to that Safe. The module owner publishes configurations, but selecting a different hash requires a call from the Safe.
Immutable contract through which Fluidkey submits Safe deployments, sends, auto-earn deposits and score transfers. Anyone can submit an operation, but each needs a signature from the authorized caller. It holds no rights over Safes, so a send still needs the Safe owner’s signature.