What would raise this pillar
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Payments are ordinary transfers into user-owned 1-of-1 Safes built on Safe's immutable 1.3.0 singleton; no Fluidkey role can pause, freeze or block them onchain. The optional earn module lets Fluidkey's relayers push received funds into preconfigured vaults, which is a custody question (S1), not a block. Refusal of service happens off-chain, in address issuance (C3, C4).
Evidence (2)2 verified
- Verified
A sample Fluidkey stealth account (from an AutoEarnExecuted event at block 52372274) is a Safe 1.3.0 proxy with masterCopy 0xd9Db…9552, threshold 1, one owner 0x43D7…17EB with no code, guard slot 0, and one module, FluidkeyEarnModule 0x3BDb…f2f9.
0xaAa5…8e70 on sourcify.dev
0xaAa5…8e70 explorer · Sourcify · block 52372315 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Verified
The module can only make the Safe wrap native tokens, approve and deposit into the vault configured for that Safe's config hash, with shares minted to the Safe; it has no transfer-out, pause or freeze path.
fluidkey/fluidkey-earn-module · src/FluidkeyEarnModule.sol
commit 122cde1994 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Once a payer has a stealth address, settlement is a plain token transfer, and the payee can deploy the Safe and move funds with the kit and Safe's public factory, without Fluidkey. But new addresses are issued by Fluidkey's backend, and the documented direct path is recovery only. Judgment call: 2, possible and reconstructable from public code, but not documented as a settlement path.
Evidence (2)1 verified · 1 documented
- Verified
The kit "enables anyone to independently generate and recover stealth smart accounts and related funds" and lists the Fluidkey parameters (chainId 0, Safe 1.3.0, default addresses, threshold 1).
fluidkey/fluidkey-stealth-account-kit · README.md
commit 2a4ccfafef · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Documented
The docs present the open recovery interface (SARA) only as a way to verify addresses or "as a last resort to recover funds".
docs.fluidkey.com/readme/recovery
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
In the product flow a payer gets a fresh address from Fluidkey's offchain ENS resolver or payment page, both run only by Fluidkey with no public code. The gas relayer is also Fluidkey's. Scored 0: required, closed, single-vendor. The kit lets a payee derive addresses themselves, which keeps funds recoverable (S4).
Evidence (2)1 verified · 1 documented
- Verified
The public kit contains only key derivation and address prediction; no resolver, issuance service or relayer code is published in github.com/fluidkey.
fluidkey/fluidkey-stealth-account-kit · src
commit 2a4ccfafef · checked 2026-10-09
- Documented
The user shares a BIP-32 node of the viewing key with Fluidkey so that Fluidkey can generate stealth addresses, and ENS names resolve through Fluidkey's offchain resolver.
docs.fluidkey.com/technical-documentation/technical-walkthrough
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The settlement layer (token transfers into Safes) has no filtering. Screening exists in Fluidkey's closed backend and is disclosed only in the privacy policy and terms; we cannot see where it applies or whether address issuance is refused. Scored 1: edge filtering disclosed in docs only.
Evidence (2)2 documented
- Documented
The privacy policy lists fraud, risk and device signals including sanctions/PEP screening indicators among the data processed, and fraud-prevention and risk-screening providers among recipients.
www.fluidkey.com/privacy
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Documented
The terms require that users are not subject to or resident in jurisdictions under Swiss, UN, EU, UK, US or other sanctions.
www.fluidkey.com/terms
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Sets the pillar ratingBest evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Chains are listed in the docs; tokens are an open set. We found no statement that USDC or other issuers can freeze funds in a stealth account, or about Base's sequencer. Judgment call: an open token set is not enumerated, so 0, as for Railgun.
Evidence (1)1 documented
- Documented
The FAQ names 7 EVM chains (Ethereum, Arbitrum, Base, Polygon, Optimism, Gnosis, BSC); receiving accepts ETH, USDC and any ERC-20.
docs.fluidkey.com/readme/frequently-asked-questions
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
What would raise this pillar
- Can be self-hosted reaching Weak: Docs exist; reproduction not attempted, or failed with blockers listed.
Best evidence: VerifiedChecked 2026-10-09 10 days ago
UnreviewedAssessed by AI research agent (seed), 2026-10-09
All contracts in the path are full Sourcify matches. No rebuild was attempted, and the Safe contracts come from Safe's own repository rather than Fluidkey's. Judgment call: 2.
Evidence (1)1 verified
- Verified
Sourcify returns exact_match on Base for the Safe singleton, proxy factory and FluidkeyEarnModule (and match for MultiSend 0xA238…7761); the module source equals src/FluidkeyEarnModule.sol at 122cde19 apart from a trailing newline.
0x3BDb…f2f9 on sourcify.dev
0x3BDb…f2f9 explorer · Sourcify · block 52372315 · checked 2026-10-09
Best evidence: VerifiedChecked 2026-10-09 10 days ago
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Only the SDK-level kit and contracts are public. The app, backend, resolver, relayer and indexer are closed. Scored 1.
Evidence (1)1 verified
- Verified
github.com/fluidkey publishes the kit, the earn module, the hydrator, the SARA recovery UI and hackathon repos; no app, backend, resolver or indexer code.
fluidkey/fluidkey-stealth-account-kit · src
commit 2a4ccfafef · checked 2026-10-09
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
There is no path to a self-hosted Fluidkey deployment: the app and backend are closed. SARA recovers funds but does not issue addresses or receive payments. Judgment call: 0, since recovery is not a working payment deployment.
Evidence (1)1 verified
- Verified
The only public deployable app is the SARA recovery interface, whose README has a description and a demo link but no build steps.
fluidkey/sara · README.md
commit e6e4fcd9e7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Contract interfaces are public, but there is no API schema for the backend, and the transaction export is documented only. Scored 1.
Evidence (2)1 verified · 1 documented
- Verified
The earn module's events are in its source; Safe ABIs are public through safe-deployments, used by the kit.
fluidkey/fluidkey-earn-module · src/FluidkeyEarnModule.sol
commit 122cde1994 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Documented
The docs describe receiving via ENS, payment pages and Near Intents; transaction export is described only in the docs (Exporting Transactions page).
docs.fluidkey.com/readme/receiving-funds
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
What would raise this pillar
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The required app and backend are closed, so F1 is 0 by rule.
Evidence (1)1 verified
- Verified
The kit is MIT; SARA and the hydrator are MIT; the earn module has no LICENSE file (SPDX AGPL-3.0-only in source, GPL-3.0 in package.json).
fluidkey/fluidkey-stealth-account-kit · LICENSE
commit 2a4ccfafef · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-09 10 days ago
UnreviewedAssessed by AI research agent (seed), 2026-10-09
No CLA and no licence-stability commitment. The kit's licence changed twice in January 2024, between two permissive licences. Judgment call: the anchor names any prior relicense as 0; we apply it as for Privacy Pools.
Evidence (1)1 verified
- Verified
The kit's LICENSE went MIT (de2cc84a, 2024-01-04) to Apache-2.0 (14a11e00, 2024-01-12) and back to MIT the same day (b32f35d3); no CLA or CONTRIBUTING file.
fluidkey/fluidkey-stealth-account-kit · LICENSE
commit 14a11e007c · checked 2026-10-09
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Production depends on Fluidkey's hosted backend for issuing and tracking addresses, with no open alternative; the open kit covers key derivation and recovery. Scored 1: documented that production needs a hosted service.
Evidence (1)1 documented
- Documented
Address generation for users relies on the viewing-key node shared with Fluidkey.
docs.fluidkey.com/technical-documentation/technical-walkthrough
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
What would raise this pillar
Sets the pillar rating
UnreviewedAssessed by AI research agent (seed), 2026-10-09
No checkable evidence settles this yet, so it counts as 0.
The app is closed and we ran no trace. The privacy policy mentions consent-based usage analysis, which does not show whether analytics is on by default.
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Beyond settlement data, Fluidkey holds the user's viewing-key node (and so the full payment history), login and contact data, and risk signals; KYC applies only to the optional Bank feature. All of it is disclosed in the policy and docs, not limited in code. Scored 1.
Evidence (2)2 documented
- Documented
The policy lists contact and login details, blockchain data, identity-verification data from regulated partners, fraud/risk/device signals and, for the Bank feature, biometric data.
www.fluidkey.com/privacy
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Documented
Fluidkey holds a node of each user's viewing key, which lets it link all of the user's stealth accounts and payments.
docs.fluidkey.com/technical-documentation/technical-walkthrough
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Receiving uses fresh addresses with no metadata. Spending can combine several stealth accounts in one payment, linking them, and Safes created with the earn-module initializer are recognisable as Fluidkey accounts; both are documented. Fluidkey itself sees all links (P2). Judgment call: 2, minimal documented linkage, because the linking comes from the app's spending logic rather than user behaviour.
Evidence (2)1 verified · 1 documented
- Verified
Each payment goes to a fresh stealth EOA's counterfactual Safe; nothing about the payee or invoice is written onchain.
fluidkey/fluidkey-stealth-account-kit · src/generateStealthAddresses.ts
commit 2a4ccfafef · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Documented
When sending, the app selects "one or a few stealth accounts" to fund a payment, which can link them; labels limit which accounts are combined.
docs.fluidkey.com/readme/sending-funds
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Fluidkey's backend sees every payment, and Privy, risk-screening providers and feature partners are disclosed only in docs and the policy; the app code is closed. Scored 1.
Evidence (1)1 documented
- Documented
The web app derives keys through a Privy embedded wallet; other docs pages name Noah (bank KYC), Near Intents and Houdini Swap; the policy lists IT, risk-screening and identity-verification providers by type.
docs.fluidkey.com/readme/account-set-up
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Sets the pillar rating
UnreviewedAssessed by AI research agent (seed), 2026-10-09
No checkable evidence settles this yet, so it counts as 0.
The app is closed, so we could not check whether RPC or indexer endpoints are configurable. The SARA recovery UI accepts a custom RPC URL, but it is not the payment path.
Security
Who can cause loss, lock users in, or change the rules?
? No evidencePillar rating: weakest of 6
4 of 6 Partial or better · 1 no evidence
What would raise this pillar
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Payments go directly into a Safe the payee alone controls; Fluidkey cannot redirect them. With auto-earn on, Fluidkey's relayers move received funds into preconfigured Morpho, Aave or InfiniFi vaults without a per-transaction signature, so custody shifts to those vaults; the shares stay with the Safe. Judgment call: 3, because the payment itself is a direct transfer and auto-earn is a disclosed, user-chosen profile.
Evidence (2)2 verified
- Verified
The sample stealth Safe's threshold is 1 and its only owner is a stealth EOA derived from the user's keys; Fluidkey holds no signer.
0xaAa5…8e70 on sourcify.dev
0xaAa5…8e70 explorer · Sourcify · block 52372315 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
- Verified
autoEarn is callable by an authorized relayer (or with a relayer signature) and deposits into the vault configured for the Safe, with shares to the Safe.
fluidkey/fluidkey-earn-module · src/FluidkeyEarnModule.sol
commit 122cde1994 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Nobody but the account owner can change the code behind a stealth account, and the earn module is immutable. Scored 3.
Evidence (1)1 verified
- Verified
FluidkeyEarnModule is not a proxy (implementation slot zero); its owner() is Safe 0x9E3e…e7CD (1.4.1, 2-of-3, no modules, guard 0), which can add relayers and register new configs but not change code. Each stealth Safe's masterCopy can be changed only by its own 1-of-1 owner.
0x3BDb…f2f9 on sourcify.dev
0x3BDb…f2f9 explorer · Sourcify · block 52372315 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Receiving needs no approval, and the auto-earn path approves exact amounts. Judgment call: approvals the closed app may request for swaps or other features cannot be checked, so 2.
Evidence (1)1 verified
- Verified
The only approval in public code is the module's exact-amount approval of the vault (amountToSave); a payer pays by plain transfer and needs no approval.
fluidkey/fluidkey-earn-module · src/FluidkeyEarnModule.sol
commit 122cde1994 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Derived from S1=3, C2=2, C3=0, O3=0. Funds sit in user-owned Safes (S1). If Fluidkey disappears, a user with their login or key backup can rebuild addresses with the kit and move funds through the public Safe contracts, for example with SARA (C2). New addresses, ENS resolution and gas sponsorship stop, because they need the closed backend (C3), and the app cannot be self-hosted (O3). Scored 2: funds retrievable without the provider; settlement stops. Keys created through Privy depend on that login or a backup.
Evidence (1)1 verified
- Verified
The kit replays stealth EOAs from the user's keys and predicts each Safe address from Safe's public deployments, so funds can be located and recovered without Fluidkey.
fluidkey/fluidkey-stealth-account-kit · src/predictStealthSafeAddress.ts
commit 2a4ccfafef · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Sets the pillar rating
UnreviewedAssessed by AI research agent (seed), 2026-10-09
No checkable evidence settles this yet, so it counts as 0.
The app bundle is closed and not inspected. The docs say spending keys never leave the client, while a viewing-key node is shared with Fluidkey by design (P2).
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Audit reports for the kit and the earn module are in their repos. We could not extract the audited commits from the PDFs, so we cannot tie them to the deployed code. The app and backend have no published audit, and we found no bounty. Scored 1.
Evidence (1)1 verified
- Verified
The kit was audited by Dedaub (May 2024, PDF in audits/); the earn-module repo holds an Ackee report (March 2025) and its source has commits after an "implement audit recommendations" commit (8263b4f8, 2025-02-24).
fluidkey/fluidkey-stealth-account-kit · README.md
commit 2a4ccfafef · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Security audits 6
Published audits and similar reviews of this provider's code, newest first. Context for the Audits and bug bounty rating, which scores them; this list does not change any rating, and an audit of older code says little about what is deployed now.
Compiled from: The audits/ folders of github.com/fluidkey/fluidkey-stealth-account-kit and fluidkey-earn-module (fluidkey-hydrator and sara have none), the kit's README, fluidkey.com, and for the shared Safe 1.3.0 contracts the docs/ folder of github.com/safe-global/safe-smart-account (audit_1_3_0.md and the PDFs it lists). No published audit of the Fluidkey app, backend, relayer or ENS resolver was found. Checked 2026-10-13. Only published reports are listed; private audits a provider mentions without a report are not.