# Table of Contents - [Fluidkey Interface | Fluidkey Docs](#fluidkey-interface-fluidkey-docs) - [Receiving Funds | Fluidkey Docs](#receiving-funds-fluidkey-docs) - [Account Set-up | Fluidkey Docs](#account-set-up-fluidkey-docs) - [Labels | Fluidkey Docs](#labels-fluidkey-docs) - [Sending Funds | Fluidkey Docs](#sending-funds-fluidkey-docs) - [Bank Transfers | Fluidkey Docs](#bank-transfers-fluidkey-docs) - [Exporting Transactions | Fluidkey Docs](#exporting-transactions-fluidkey-docs) - [Fluidkey Score | Fluidkey Docs](#fluidkey-score-fluidkey-docs) - [Technical Documentation | Fluidkey Docs](#technical-documentation-fluidkey-docs) - [Earn | Fluidkey Docs](#earn-fluidkey-docs) - [Frequently Asked Questions | Fluidkey Docs](#frequently-asked-questions-fluidkey-docs) - [Technical Walkthrough | Fluidkey Docs](#technical-walkthrough-fluidkey-docs) - [ENS Offchain Resolver | Fluidkey Docs](#ens-offchain-resolver-fluidkey-docs) - [Stealth Account Initdata | Fluidkey Docs](#stealth-account-initdata-fluidkey-docs) --- # Fluidkey Interface | Fluidkey Docs [](https://docs.fluidkey.com/#available-chains) Available Chains --------------------------------------------------------------------- Fluidkey is currently available on Base, Optimism, Arbitrum, Polygon, Gnosis, and Ethereum mainnet. [](https://docs.fluidkey.com/#available-tokens) Available Tokens --------------------------------------------------------------------- With Fluidkey, you can receive, send, swap, and bridge ETH, USDC, and any other [ERC-20 token](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) . [Account Set-up](https://docs.fluidkey.com/readme/account-set-up) [Receiving Funds](https://docs.fluidkey.com/readme/receiving-funds) [Sending Funds](https://docs.fluidkey.com/readme/sending-funds) Last updated 1 month ago --- # Receiving Funds | Fluidkey Docs With Fluidkey, you can receive and manage ETH, USDC, and any other [ERC-20 token](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) . [](https://docs.fluidkey.com/readme/receiving-funds#how-to-start-receiving-funds) How to start receiving funds ------------------------------------------------------------------------------------------------------------------- In the _Receive_ section of the Fluidkey dashboard you have three options to receive funds, two private ENS addresses and private hex addresses. ![The Receive section and its address options.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-663420c449e22226f08f68353b54ac8ea3fef050%252FReceiveUpdated.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=111e88aa&sv=2) The Receive section and its address options. ### [](https://docs.fluidkey.com/readme/receiving-funds#private-ens) Private ENS #### [](https://docs.fluidkey.com/readme/receiving-funds#how-it-works) How it works When you sign up to Fluidkey, you automatically get assigned two [ENS](https://ens.domains/) addresses. An ENS is a human-readable address you can use to receive funds. This ENS can be pasted into the `to` or the `address` field of a compatible wallet to send payments to your Fluidkey account. Every time your ENS is queryied, it resolves a new empty Fluidkey address to the wallet. This way you can receive funds without compromising your privacy. The first ENS ends with `fkey.id`, it can also be used as a shareable **web link** to a page that gives senders two simple options to transfer funds to your Fluidkey account: * Sending funds directly to a stealth address of yours * Sending funds via Daimo Pay, which allows users to transfer from a large number of sources, including non-EVM chains like Solana and Bitcoin and fintech platforms like Revolut, Cash App, and Venmo. These transfers will be converted to USDC on Base by default but you can change the destination chain by adding a `?chain=` parameter to the URL (valid values are `eth`, `arb`, `op`, `pol`). ![The payment page linked to the fkey.id ENS.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-c1f98cbadaec2bb97324f90f5e8c1d2781410f8e%252Fdaimo.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6fc84933&sv=2) The payment page linked to the fkey.id ENS. The second ENS ends with `fkey.eth`, it is _**compatible with more wallets**_ and can be pasted into the `to` or `address` fields to send payments to your Fluidkey account. Not all wallets are compatible with ENS addresses across chains, especially on testnets. #### [](https://docs.fluidkey.com/readme/receiving-funds#edit-your-ens) Edit your ENS You can easily customize the username linked to your ENS: just press the menu button at the top right of your dashboard and then press edit next to your username. ![You can edit your username in the app settings.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-d261ebf234aefedcb0de5686cecf3774d8133179%252FChangeUsernameDocs.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=1f846377&sv=2) You can edit your username in the app settings. ### [](https://docs.fluidkey.com/readme/receiving-funds#private-addresses) Private addresses When you press the Address button in the _Receive_ section, you will see a hexadecimal Ethereum address appear. This address is also an empty Fluidkey address only you control. You can use it as another option to receive funds. Every time you press the ↻ button, a new hex address is generated. We strongly recommend using such a hex address only for one transfer in order to protect your privacy. * * * [](https://docs.fluidkey.com/readme/receiving-funds#receiving-funds-on-fluidkey-vs-other-wallets) Receiving funds on Fluidkey vs other wallets --------------------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.fluidkey.com/readme/receiving-funds#other-wallets) Other wallets ![The status quo](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252FOa51g81QdaOwcCr8uzPK%252FScreenshot_6.png%3Falt%3Dmedia%26token%3Dc8192c80-5e11-4052-9897-3c85fd57fab1&width=768&dpr=4&quality=100&sign=89193b89&sv=2) The status quo With most wallets, you have one or few addresses, making it easy for external observers to track your transaction history and assets. ### [](https://docs.fluidkey.com/readme/receiving-funds#fluidkey) Fluidkey ![](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252FSxzxfCXrkyYjs2miB7VI%252FScreenshot_7.png%3Falt%3Dmedia%26token%3D0dbba4ba-d2ce-41a5-974f-f90e4de500f0&width=768&dpr=4&quality=100&sign=f54cc482&sv=2) Fluidkey ensures new funds received are not linked to your existing assets and onchain history With Fluidkey, a new address that only you can control (i.e. self-custodial) is used to receive funds for every transfer. This protects your privacy, as external observers cannot connect these addresses and cannot link them to your main address. Last updated 16 days ago --- # Account Set-up | Fluidkey Docs ![The Fluidkey onboarding process.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-068cc9fd9d577399afe5dfa9ec990ce01237823a%252FSignUpDocs.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=86c60f6a&sv=2) The Fluidkey onboarding process. Creating a Fluidkey account requires the following steps: 1. **Connecting your wallet**: your account will be controlled by the wallet you connect. Losing access to this wallet means losing access to your Fluidkey account, so make sure to use a secure wallet and to back up your private keys. If you don't have a wallet, you can connect with your email, Google, or Farcaster account and a [Privy wallet](https://www.privy.io/blog/embedded-wallet-launch) will be created for you. 2. **Setting a PIN**: a PIN gives you extra security against phishing attacks. An attacker trying to access your account by asking you to sign the message in step 3 would also need to know your PIN in order to get access to your funds. 3. **Signing the key generation message**: you will be asked to sign a first message. The signature of this message is how the keys controlling your Fluidkey funds are generated. Make sure to only sign this message on app.fluidkey.com. These keys never leave your device and you will be asked to sign this message again to re-generate your keys for a new session. 4. **Signing the authentication message**: as a final step, we ask you to sign a second message to ensure someone is not trying to impersonate you. That's it, your Fluidkey account is now set up. Check [Receiving Funds](https://docs.fluidkey.com/readme/receiving-funds) to learn how to start adding funds to the account. Last updated 1 year ago --- # Labels | Fluidkey Docs [](https://docs.fluidkey.com/readme/labels#why-use-labels) Why use labels? ------------------------------------------------------------------------------- With labels, you get full control over your privacy by deciding which funds are used for each outgoing transaction. You can for example categorize incoming transfers as `clients`, `personal`, and `investments` and decide to only use your `clients` funds for a specific transaction. This means that the recipient of this transaction will only see funds coming from sources that you have labeled as `clients`. Additionally, our algorithm will compute the most private way to send these funds from all transactions labeled as `clients`. ![Sending funds with Fluidkey.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-30be66c4a3925265ea4dd3149d7dc4a927070d46%252Flabelsannouncement5.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=73e9f81f&sv=2) Using labels in Fluidkey. [](https://docs.fluidkey.com/readme/labels#how-to-use-labels) How to use labels ------------------------------------------------------------------------------------ You can create a new label by clicking on the `+` button next to each incoming transaction in Activity. You can either select an existing label or create a new one by typing its name and selecting its color. Each transaction can have multiple labels. You can remove a label from a transaction by clicking on the `x` button next to the label name. In the Send modal, you can select labels in the "using funds from" dropdown. This will only show labels that have a positive balance in the token you want to send. You can select multiple labels in this dropdown. Labels can be used to categorize specific incoming transactions, e.g. `salary-may-24`, or to categorize a group of incoming transactions, e.g. `salary`. Last updated 1 year ago --- # Sending Funds | Fluidkey Docs [](https://docs.fluidkey.com/readme/sending-funds#how-to-start-sending-funds) How to start sending funds ------------------------------------------------------------------------------------------------------------- You can send funds from any of your available tokens by pressing the ↗ arrow next to the balance of your choice. Fill in the amount you wish to send and the address of the recipient, which can be a standard Ethereum hex address or an ENS address. Fluidkey will then compute the best path to send these funds, by automatically selecting one or a few stealth accounts which have balances that are close to the amount you wish to send. We plan to offer more options in the future, such as manually selecting the stealth account you wish to send from. Once you press the **Send** button, if you are opening Fluidkey in a new session, you will be asked to input your PIN and sign the key generation message to regenerate your private keys (which never leave your device). Finally, you will be asked to confirm the transaction. Once you do, Fluidkey will automatically send the funds from the stealth accounts it selected to the recipient address you specified. Blockchain transactions are irreversible, so make sure you are sending the right amount of funds to the right address. ![Sending funds with Fluidkey.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-a9545fc43ce7efb4c8d199d5a990c613326e9350%252FTransferOut.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6a7c33cc&sv=2) Sending funds with Fluidkey. [](https://docs.fluidkey.com/readme/sending-funds#best-practices-to-preserve-your-privacy) Best practices to preserve your privacy --------------------------------------------------------------------------------------------------------------------------------------- You can use the Fluidkey [Labels](https://docs.fluidkey.com/readme/labels) feature to control which specific funds are used for outgoing transactions. In order to preserve the unlinkability of your Fluidkey funds, avoid sending payments directly to addresses that are clearly tied to you. We recommend keeping funds inside of Fluidkey and sending funds to addresses that are not linked to your identity, such as wallets of third parties or exchanges. If you do end up sending funds to addresses that are clearly tied to you, Fluidkey still gives the benefit of moving money from an account that, to an external observer, could be controlled by a third party or yourself. We plan to add options making it easier to send funds to your own wallets with stronger privacy in the future. [](https://docs.fluidkey.com/readme/sending-funds#transaction-fees) Transaction fees ----------------------------------------------------------------------------------------- As with any blockchain transaction, sending funds with Fluidkey incurs a [gas fee](https://info.etherscan.com/what-is-gas-fee/) . Fees can be paid in ETH, USDC, DAI, USDT, MATIC, wETH, rETH, wstETH, EURC, and EURe. [Labels](https://docs.fluidkey.com/readme/labels) also apply to the addresses your fees are taken from, which allows you to have granular control over which funds are used to pay for fees. [](https://docs.fluidkey.com/readme/sending-funds#contacts) Contacts ------------------------------------------------------------------------- When sending funds, you can add the address or ENS you are sending to as a contact by pressing the +👤 button. This will allow you to easily retrieve the address for future transfers. Last updated 11 months ago --- # Bank Transfers | Fluidkey Docs Get an account in minutes and start receiving & sending USD & Euro transfers from any bank. Incoming transfers will automatically be deposited as USDC into your self-custodial Fluidkey account in a privacy-preserving manner. This feature is powered by [Bridge](https://bridge.xyz/) and is available to both individual users and organizations. [](https://docs.fluidkey.com/readme/bank#key-information) Key Information ------------------------------------------------------------------------------ USD Onramp Fees 0% up to $20,000 per calendar month, then 0.6% of the total USD Offramp Fees 0% up to $20,000 per calendar month, then 0.25% of the total EUR Onramp Fees 0% up to €20,000 per calendar month, then 0.6% of the total EUR Offramp Fees 0% up to €20,000 per calendar month, then 0.25% of the total Minimum Transfer Amount $1 for ACH and Sepa $10,000 for Wire (flat $25 fee for lower amounts) [](https://docs.fluidkey.com/readme/bank#account-creation) Account Creation -------------------------------------------------------------------------------- To create an account, click the _Bank_ tab in the _Receive_ section of your dashboard. You will be asked to accept the Bridge Terms of Service and then be guided through the KYC process, which typically takes less than 5 minutes to complete. Once you have submitted all required information, your application will be reviewed. This usually takes minutes but may take longer if some of the provided data needs to be double-checked. As soon as you are able to see bank details in the _Bank_ tab, you are ready to receive payments. [](https://docs.fluidkey.com/readme/bank#receiving-transfers) Receiving Transfers -------------------------------------------------------------------------------------- ### [](https://docs.fluidkey.com/readme/bank#receiving-transfers-1) Receiving Transfers You can receive USD and Euros by sending transfers to the account details shown in the _Bank_ tab. The minimum transfer amount is $1/€1. Transfers are typically credited to your account within the same day but timelines may vary as this is dependent on the sending bank and the ACH network. We also support wire transfers for amounts above $10,000. ![The Bank tab in the Receive section.](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-0fc3dd8efbf7284571170e5562e5e1266751addf%252Fbank.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9c5fe0f8&sv=2) The Bank tab in the Receive section. You can switch the chain for deposit transfers by clicking the _Edit_ button at the bottom of the table in the _Bank_ tab. [](https://docs.fluidkey.com/readme/bank#sending-transfers) Sending Transfers ---------------------------------------------------------------------------------- Outgoing transfers are currently available from any token on Base. We recommend using USDC to get the best exchange rate. To get started, open the _Send_ box with the ↗ button next to the token you want to send. In the _to_ field, press the bank icon to add a bank recipient to your contacts. You can then select the recipient in the dropdown of the _to_ field to proceed with the transfer. [](https://docs.fluidkey.com/readme/bank#fees) Fees -------------------------------------------------------- Currently, we do not charge any fees for creating an account as well as receiving and sending bank transfers up to $20,000 per calendar month. Fees may change over time, and you will see any changes in the Fluidkey interface. [](https://docs.fluidkey.com/readme/bank#limitations) Limitations ---------------------------------------------------------------------- IBAN transfers are currently not supported for residents of the following countries (ACH is supported): * Finland * Hungary * Latvia * Lithuania * The Netherlands * Slovenia IBAN transfers from personal bank accounts of a third party (i.e. not your own) are temporarily paused. Last updated 2 months ago --- # Exporting Transactions | Fluidkey Docs [](https://docs.fluidkey.com/readme/exporting-transactions#exporting-transactions) Exporting transactions -------------------------------------------------------------------------------------------------------------- ![Export transactions](https://docs.fluidkey.com/~gitbook/image?url=https%3A%2F%2F3082920742-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzKPdnrsoonnsTTUY4ZmB%252Fuploads%252Fgit-blob-d10d55fdd469f1c15b527c15f72f4d453e434c3b%252FtxExportHd.gif%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=603ea4af&sv=2) How to export your Fluidkey transactions. To export your transactions, click on the ⤓ icon next to the Activity section on the Fluidkey dashboard. You can select the date range you want to export transactions for. Currently, the export will be downloaded as a CSV file in the [CoinTracker format](https://support.cointracker.io/hc/en-us/articles/4413071299729-How-to-Convert-Your-Transaction-History-into-CoinTracker-Compatible-CSV-Format) . We plan to add support for more formats in the future. If you have a specific format you'd like to see, please let us know at hey@fluidkey.com. [](https://docs.fluidkey.com/readme/exporting-transactions#integrations) Integrations ------------------------------------------------------------------------------------------ ### [](https://docs.fluidkey.com/readme/exporting-transactions#cointracker) CoinTracker Use [this link](https://www.cointracker.io/home?add_integration=fluidkey_exchange) to import your Fluidkey transactions into CoinTracker. Last updated 1 year ago --- # Fluidkey Score | Fluidkey Docs [Read the announcement here](https://www.fluidkey.com/blog/fluidkey-score) [](https://docs.fluidkey.com/readme/score#key-information) Key information ------------------------------------------------------------------------------- Chain Base Contract address [0x894c663757f6953544548EFA1aebc0846AC08bEa](https://basescan.org/address/0x894c663757f6953544548EFA1aebc0846AC08bEa) Distributor address [0x83Da511603C650bF3c7FF8d02FC6423AF455535F](https://basescan.org/address/0x83Da511603C650bF3c7FF8d02FC6423AF455535F) The Fluidkey Score is a non-transferable ERC-20 token on Base. The distributor is a Fluidkey controlled address that is allocating scores to users. [](https://docs.fluidkey.com/readme/score#how-your-score-is-computed) How your score is computed ----------------------------------------------------------------------------------------------------- We compute a user's score based on genuine activity on Fluidkey. Some of the key factors taken into account are: * a user's total balance * the balance of users referred by the user (based on the referral link in settings) * a user's balance that is earning yield with our [auto-earn feature](https://github.com/fluidkey/fluidkey-documentation/blob/main/readme/earn/README.md) We do not disclose the exact formula used to avoid having users game the system. [](https://docs.fluidkey.com/readme/score#how-to-claim-your-score) How to claim your score ----------------------------------------------------------------------------------------------- In the Fluidkey interface, you will find a Fluidkey Score section under the Funds section. To claim your score, simply click the Claim button. In the same section you will also find your all-time and weekly ranking on the leaderboard. [](https://docs.fluidkey.com/readme/score#what-your-score-can-be-used-for) What your score can be used for --------------------------------------------------------------------------------------------------------------- Your score unlocks exclusive benefits inside of Fluidkey. Additionally, your score is composable with any other crypto protocol by being allocated to you onchain as an ERC-20 token. Like a credit score, it is a way for users to prove they are valuable Fluidkey users to any third party. In turn, these third parties may use this data to give exclusive access and benefits to holders of a high Fluidkey score. Last updated 16 days ago --- # Technical Documentation | Fluidkey Docs [Technical Walkthrough](https://docs.fluidkey.com/technical-documentation/technical-walkthrough) [ENS Offchain Resolver](https://docs.fluidkey.com/technical-documentation/ens-offchain-resolver) [Stealth Account Initdata](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata) Last updated 5 months ago --- # Earn | Fluidkey Docs Fluidkey auto-earn allows you to earn yield on selected tokens as soon as they are added to your account. [](https://docs.fluidkey.com/readme/earn#overview) Overview ---------------------------------------------------------------- To change your auto-earn settings, click the amount earned at the top right of the _Funds_ section in your dashboard. You can choose between the following profiles: * **Optimized**: This is the default profile and enables high yield by automatically rebalancing funds to the best yield sources within a set of battletested protocols, powered by [Summer.fi](https://summer.fi/) . * **Core**: This profile deposits into a fixed set of battletested vaults from [Morpho](https://www.morpho.org/) and [Aave](https://aave.com/) . * **Disabled**: This profile disables the auto-earn feature for the account. [](https://docs.fluidkey.com/readme/earn#audits) Audits ------------------------------------------------------------ The [Fluidkey Earn module](https://github.com/fluidkey/fluidkey-earn-module) has successfully undergone a security audit by [Ackee](https://ackee.xyz/) . You can find the audit report [here](https://github.com/fluidkey/fluidkey-earn-module/blob/main/audits/ackee-blockchain-fluidkey-earn-module-report.pdf) . [](https://docs.fluidkey.com/readme/earn#yield-sources) Yield sources -------------------------------------------------------------------------- The optimized profile uses [Summer.fi](https://summer.fi/) 's Lazy Summer Protocol to automatically rebalance funds to the best yield sources within a set of battletested protocols curated by [Block Analitica](https://blockanalitica.com/) . These protocols include AAVE V3, Spark, Morpho, Gearbox, Fluid, Pendle, Sky, and Compound V3. The Lazy Summer Protocol has been [audited](https://docs.summer.fi/summer.fi/audits) by multiple security firms. When a token is not available with Summer.fi, funds are deposited into the yield source from the core profile. The core profile uses [Morpho](https://www.morpho.org/) and [Aave](https://aave.com/) under the hood. [Morpho](https://docs.morpho.org/security-reviews/) and [Aave](https://aave.com/security) are battletested lending protocols that have been thorougly audited. For Morpho, pools curated by [Gauntlet](https://www.gauntlet.xyz/) have been selected for this feature. Gauntlet is a crypto firm that specializes in providing risk management and financial modeling for defi protocols. More specifically, the following lending pools are currently being used for this feature: Name Profile Chain Address Min. Amount Summer.fi USDC Optimized Base [0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17](https://summer.fi/earn/base/position/0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17) $1 Summer.fi EURC Optimized Base [0x64Db8f51f1bf7064BB5A361a7265F602d348E0f0](https://summer.fi/earn/base/position/0x64Db8f51f1bf7064BB5A361a7265F602d348E0f0) $1 Summer.fi WETH Optimized Base [0x2bb9ad69FEBA5547b7cD57aAfe8457D40bF834af](https://summer.fi/earn/base/position/0x2bb9ad69FEBA5547b7cD57aAfe8457D40bF834af) $1 Gauntlet USDC Prime Core Base [0xeE8F4eC5672F09119b96Ab6fB59C27E1b7e44b61](https://app.morpho.org/base/vault/0xeE8F4eC5672F09119b96Ab6fB59C27E1b7e44b61/gauntlet-usdc-prime) $1 Gauntlet EURC Core Core Base [0x1c155be6bC51F2c37d472d4C2Eba7a637806e122](https://app.morpho.org/base/vault/0x1c155be6bC51F2c37d472d4C2Eba7a637806e122/gauntlet-eurc-core) $1 Gauntlet WETH Core Core Base [0x6b13c060F13Af1fdB319F52315BbbF3fb1D88844](https://app.morpho.org/base/vault/0x6b13c060F13Af1fdB319F52315BbbF3fb1D88844/gauntlet-weth-core) $1 Gauntlet cbBTC Core Core, Optimized Base [0x6770216aC60F634483Ec073cBABC4011c94307Cb](https://app.morpho.org/base/vault/0x6770216aC60F634483Ec073cBABC4011c94307Cb/gauntlet-cbbtc-core) $1 Summer.fi USDC Optimized Ethereum [0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17](https://summer.fi/earn/mainnet/position/0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17) $100 Summer.fi USDT Optimized Ethereum [0x17Ee2D03e88b55E762c66C76ec99C3A28A54AD8d](https://summer.fi/earn/mainnet/position/0x17Ee2D03e88b55E762c66C76ec99C3A28A54AD8d) $100 Summer.fi WETH Optimized Ethereum [0x67e536797570b3d8919Df052484273815A0aB506](https://summer.fi/earn/mainnet/position/0x67e536797570b3d8919Df052484273815A0aB506) $100 Gauntlet USDC Prime Core Ethereum [0xdd0f28e19C1780eb6396170735D45153D261490d](https://app.morpho.org/ethereum/vault/0xdd0f28e19C1780eb6396170735D45153D261490d/gauntlet-usdc-prime) $100 Gauntlet USDT Prime Core Ethereum [0x8CB3649114051cA5119141a34C200D65dc0Faa73](https://app.morpho.org/ethereum/vault/0x8CB3649114051cA5119141a34C200D65dc0Faa73/gauntlet-usdt-prime) $100 Gauntlet WETH Prime Core Ethereum [0x2371e134e3455e0593363cBF89d3b6cf53740618](https://app.morpho.org/ethereum/vault/0x2371e134e3455e0593363cBF89d3b6cf53740618/gauntlet-weth-prime) $100 Gauntlet cbBTC Core Core, Optimized Ethereum [0xF587f2e8AfF7D76618d3B6B4626621860FbD54e3](https://app.morpho.org/ethereum/vault/0xF587f2e8AfF7D76618d3B6B4626621860FbD54e3/gauntlet-cbbtc-prime) $100 Gauntlet wBTC Core Core, Optimized Ethereum [0x443df5eEE3196e9b2Dd77CaBd3eA76C3dee8f9b2](https://app.morpho.org/ethereum/vault/0x443df5eEE3196e9b2Dd77CaBd3eA76C3dee8f9b2/gauntlet-wbtc-core) $100 Gauntlet DAI Core Core, Optimized Ethereum [0x500331c9fF24D9d11aee6B07734Aa72343EA74a5](https://app.morpho.org/ethereum/vault/0x500331c9fF24D9d11aee6B07734Aa72343EA74a5/gauntlet-dai-core) $100 Gauntlet EURC Core Core, Optimized Ethereum [0x2ed10624315b74a78f11FAbedAa1A228c198aEfB](https://app.morpho.org/ethereum/vault/0x2ed10624315b74a78f11FAbedAa1A228c198aEfB/gauntlet-eurc-core) $100 Summer.fi USDC Optimized Arbitrum [0x4F63cfEa7458221CB3a0EEE2F31F7424Ad34bb58](https://summer.fi/earn/arbitrum/position/0x4F63cfEa7458221CB3a0EEE2F31F7424Ad34bb58) $1 Summer.fi USDT Optimized Arbitrum [0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17](https://summer.fi/earn/arbitrum/position/0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17) $1 Aave USDC Core Arbitrum [0x7CFaDFD5645B50bE87d546f42699d863648251ad](https://app.aave.com/reserve-overview/?underlyingAsset=0xaf88d065e77c8cc2239327c5edb3a432268e5831&marketName=proto_arbitrum_v3) $1 Aave USDT Core Arbitrum [0xb165a74407fE1e519d6bCbDeC1Ed3202B35a4140](https://app.aave.com/reserve-overview/?underlyingAsset=0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9&marketName=proto_arbitrum_v3) $1 Aave WETH Core, Optimized Arbitrum [0x352F3475716261dCC991Bd5F2aF973eB3D0F5878](https://app.aave.com/reserve-overview/?underlyingAsset=0x82af49447d8a07e3bd95bd0d56f35241523fbab1&marketName=proto_arbitrum_v3) $1 Aave DAI Core, Optimized Arbitrum [0xc91c5297d7E161aCC74b482aAfCc75B85cc0bfeD](https://app.aave.com/reserve-overview/?underlyingAsset=0xda10009cbd5d07dd0cecc66161fc93d7c9000da1&marketName=proto_arbitrum_v3) $1 Aave GHO Core, Optimized Arbitrum [0xD9FBA68D89178e3538e708939332c79efC540179](https://app.aave.com/reserve-overview/?underlyingAsset=0x7dff72693f6a4149b17e7c6314655f6a9f7c8b33&marketName=proto_arbitrum_v3) $1 Aave USDC Core, Optimized Polygon [0x2dCa80061632f3F87c9cA28364d1d0c30cD79a19](https://app.aave.com/reserve-overview/?underlyingAsset=0x3c499c542cef5e3811e1192ce70d8cc03d5c3359&marketName=proto_polygon_v3) $1 Aave USDT Core, Optimized Polygon [0x87A1fdc4C726c459f597282be639a045062c0E46](https://app.aave.com/reserve-overview/?underlyingAsset=0xc2132d05d31c914a87c6611c10748aeb04b58e8f&marketName=proto_polygon_v3) $1 Aave WETH Core, Optimized Polygon [0xb3D5Af0A52a35692D3FcbE37669b3B8C31dddE7D](https://app.aave.com/reserve-overview/?underlyingAsset=0x7ceb23fd6bc0add59e62ac25578270cff1b9f619&marketName=proto_polygon_v3) $1 Aave DAI Core, Optimized Polygon [0x83c59636e602787A6EEbBdA2915217B416193FcB](https://app.aave.com/reserve-overview/?underlyingAsset=0x8f3cf7ad23cd3cadbd9735aff958023239c6a063&marketName=proto_polygon_v3) $1 Aave wPOL Core, Optimized Polygon [0x98254592408E389D1dd2dBa318656C2C5c305b4E](https://app.aave.com/reserve-overview/?underlyingAsset=0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270&marketName=proto_polygon_v3) $1 Aave WETH Core, Optimized Optimism [0x352F3475716261dCC991Bd5F2aF973eB3D0F5878](https://app.aave.com/reserve-overview/?underlyingAsset=0x4200000000000000000000000000000000000006&marketName=proto_optimism_v3) $1 Aave USDC Core, Optimized Optimism [0x7CFaDFD5645B50bE87d546f42699d863648251ad](https://app.aave.com/reserve-overview/?underlyingAsset=0x0b2c639c533813f4aa9d7837caf62653d097ff85&marketName=proto_optimism_v3) $1 Aave USDT Core, Optimized Optimism [0x7CFaDFD5645B50bE87d546f42699d863648251ad](https://app.aave.com/reserve-overview/?underlyingAsset=0x94b008aa00579c1307b0ef2c499ad98a8ce58e58&marketName=proto_optimism_v3) $1 Aave DAI Core, Optimized Optimism [0xc91c5297d7E161aCC74b482aAfCc75B85cc0bfeD](https://app.aave.com/reserve-overview/?underlyingAsset=0xda10009cbd5d07dd0cecc66161fc93d7c9000da1&marketName=proto_optimism_v3) $1 Aave GNO Core, Optimized Gnosis [0x2D737e2B0e175f05D0904C208d6C4e40da570f65](https://app.aave.com/reserve-overview/?underlyingAsset=0x9c58bacc331c9aa871afd802db6379a98e80cedb&marketName=proto_gnosis_v3) $1 Aave wxDAI Core, Optimized Gnosis [0x7f0EAE87Df30C468E0680c83549D0b3DE7664D4B](https://app.aave.com/reserve-overview/?underlyingAsset=0xe91d153e0b41518a2ce8dd3d7944fa863463a97d&marketName=proto_gnosis_v3) $1 Aave EURe Core, Optimized Gnosis [0x8418D17640a74F1614AC3E1826F29e78714488a1](https://app.aave.com/reserve-overview/?underlyingAsset=0xcb444e90d8198415266c6a2724b7900fb12fc56e&marketName=proto_gnosis_v3) $1 Aave WETH Core, Optimized Gnosis [0xD843FB478c5aA9759FeA3f3c98D467e2F136190a](https://app.aave.com/reserve-overview/?underlyingAsset=0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1&marketName=proto_gnosis_v3) $1 Aave USDC Core, Optimized Gnosis [0x270bA1f35D8b87510D24F693fcCc0da02e6E4EeB](https://app.aave.com/reserve-overview/?underlyingAsset=0xddafbb505ad214d7b80b1f830fccc89b60fb7a83&marketName=proto_gnosis_v3) $1 Aave USDC.e Core, Optimized Gnosis [0xf0E7eC247b918311afa054E0AEdb99d74c31b809](https://app.aave.com/reserve-overview/?underlyingAsset=0x2a22f9c3b484c3629090feed35f17ff8f88f76f0&marketName=proto_gnosis_v3) $1 As we expand this feature to more tokens and chains, the list of yield protocols and pools used will be updated in this section. We will only add protocols and pools that have been thoroughly audited and are battletested. [](https://docs.fluidkey.com/readme/earn#how-it-works) How it works ------------------------------------------------------------------------ When auto-earn is enabled, the stealth addresses generated for your account will have the Fluidkey Earn module enabled with the abovementioned lending pools. This allows Fluidkey to automatically move funds on behalf of your stealth addresses into these lending pools when you receive them. For security reasons, the scope of the module is extremely limited, such that Fluidkey cannot move funds anywhere else than the pools listed above. Only amounts that are above the minimum amount listed above will be automatically moved into the lending pools. You will see the amount earned from this feature in the top right corner of the _Funds_ section in your dashboard. In order to spend funds that are currently earning yield, no extra action is required from you. For example, when you want to send USDC on Base, you can just send USDC from your balance as usual and funds will be automatically taken from the lending pool in the same transaction. [](https://docs.fluidkey.com/readme/earn#yield-computation-and-fees) Yield computation and fees ---------------------------------------------------------------------------------------------------- All amounts displayed in your dashboard are net of fees, meaning that the amount you see is the amount you can spend. The yield percentage displayed is based on the daily APY of the lending pool. Fluidkey takes a fee of 10% on the yield generated by this feature (e.g. if you earn 4% yield, we take a fee of 0.4%) as well as any protocol rewards. The more you earn, the more we earn alongside you. Last updated 1 month ago --- # Frequently Asked Questions | Fluidkey Docs What can Fluidkey be used for?[](https://docs.fluidkey.com/readme/frequently-asked-questions#what-can-fluidkey-be-used-for) Fluidkey allows you to receive and manage funds onchain while protecting your 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, buying, and trading tokens * 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 Which wallets is Fluidkey compatible with?[](https://docs.fluidkey.com/readme/frequently-asked-questions#which-wallets-is-fluidkey-compatible-with) 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 supports connecting with a hardware wallet for additional security. Connecting with multisigs is not supported yet. Which chains is Fluidkey available on?[](https://docs.fluidkey.com/readme/frequently-asked-questions#which-chains-is-fluidkey-available-on) Fluidkey is currently available on Base, Optimism, Arbitrum, Polygon, Gnosis, and Ethereum mainnet. What makes Fluidkey unique in managing wallet privacy?[](https://docs.fluidkey.com/readme/frequently-asked-questions#what-makes-fluidkey-unique-in-managing-wallet-privacy) 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. How does Fluidkey work?[](https://docs.fluidkey.com/readme/frequently-asked-questions#how-does-fluidkey-work) 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. **Overview** 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: * [An incomplete guide to stealth addresses](https://vitalik.eth.limo/general/2023/01/20/stealth.html) by Vitalik Buterin * [A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography](https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/) by Nick Sullivan How private is Fluidkey?[](https://docs.fluidkey.com/readme/frequently-asked-questions#how-private-is-fluidkey) Fluidkey uses stealth addresses to protect your privacy. Stealth addresses provide _unlinkability_, meaning an external observer can’t link a receiver to a payment. This provides sufficient privacy for many use cases and enables a seamless user experience. Stealth addresses also don't mix your funds with other users’ funds. This means that with Fluidkey there is no risk of mixing your funds with illicit funds. However, 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. This can be 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. Who can view my transactions?[](https://docs.fluidkey.com/readme/frequently-asked-questions#who-can-view-my-transactions) With a regular wallet, anyone that has ever seen your address (e.g. by sending or receiving a payment, or by looking up your ENS) can see the entire transaction history and all assets stored at this address. With the Fluidkey interface, only you and Fluidkey can see all transactions and assets. A new address is generated for every incoming payment. Fluidkey needs view access in order to: * Generate stealth accounts on your behalf when your ENS is called * Index transactions by scanning the blockchain and displaying them in your dashboard Here's an example of who can see what. Let's assume you receive four payments to your Fluidkey account: $10, $100, $1,000, and $10,000. For each of these payments, the sender only knows of the address they sent the funds to at the moment of sending. E.g. the sender of the $10 payment wouldn't know about the $100, $1,000, and $10,000 payments. An external observer would only be able to see that funds were sent to four new addresses, but wouldn't be able to link these addresses together or link them to you. Now let's say you need to make a payment of $800 and another of $250. Fluidkey would automatically select the addresses to fulfill these payments with the goal of protecting your privacy. For the $800 payment, this would mean sending funds out of the address containing $1,000. This means that only the sender of the $1,000 and the recipient of the $800 would be able to tie these two transactions to you. For the $250 payment, Fluidkey would select the remaining $200 from the $800 address and $50 from the $100 address. This means that the senders of the $100 & $1,000 and the recipients of the $800 & $250 would be able to tie these four transactions to you. None of them would be aware of the $10 and $10,000 payments and external observers would still not be able to link any of these to you. Can I access my funds without Fluidkey?[](https://docs.fluidkey.com/readme/frequently-asked-questions#can-i-access-my-funds-without-fluidkey) Yes, Fluidkey is fully self-custodial, which means that only you can access your funds with your private keys and you can do so even without Fluidkey. The [Fluidkey Stealth Account Kit](https://github.com/fluidkey/fluidkey-stealth-account-kit) is an open source library containing all of the core cryptography required to access your stealth accounts. Multiple independent recovery interfaces have been built on top of this library, making it simple to recover funds without relying on the Fluidkey interface and without being a developer. We have hosted one of these interfaces, [SARA](https://github.com/shahnami/sara) , at [recovery.fluidkey.com](https://recovery.fluidkey.com/) . Is Fluidkey audited?[](https://docs.fluidkey.com/readme/frequently-asked-questions#is-fluidkey-audited) [Fluidkey's offchain cryptography](https://github.com/fluidkey/fluidkey-stealth-account-kit) has been audited by [Dedaub](https://dedaub.com/) in May 2024. You can find the full audit report [here](https://dedaub.com/audits/fluidkey/fluidkey-stealth-account-kit-may-24-2024/) . All Fluidkey accounts are [Safe smart accounts](https://github.com/safe-global/safe-smart-account/tree/main?tab=readme-ov-file#audits-formal-verification) under the hood, which have been thoroughly audited and battletested. How easy is it to do my taxes and accounting with Fluidkey?[](https://docs.fluidkey.com/readme/frequently-asked-questions#how-easy-is-it-to-do-my-taxes-and-accounting-with-fluidkey) With Fluidkey you can export your transactions in just a few seconds for tax and accounting purposes. You can then import the downloaded file into your preferred tool. Learn more in our guide on [exporting transactions](https://docs.fluidkey.com/readme/exporting-transactions) . Last updated 1 year ago --- # Technical Walkthrough | Fluidkey Docs This walkthrough provides background on Fluidkey's core crypto functions, which are released as an [open source kit](https://github.com/fluidkey/fluidkey-stealth-account-kit) . [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-1.-background-reading) 1\. Background Reading -------------------------------------------------------------------------------------------------------------------------------- To keep the walkthrough concise, we assume the reader has a basic understanding of the following concepts. If you're not familiar with them, you can start with the linked resources. * [Elliptic Curve Cryptography](https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/) * [Accounts and transactions on public EVM blockchains](https://github.com/ethereumbook/ethereumbook) * [Stealth addresses](https://vitalik.eth.limo/general/2023/01/20/stealth.html) [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-2.-user-keys) 2\. User Keys -------------------------------------------------------------------------------------------------------------- When a user signs into Fluidkey, they are asked to sign a key generation message with their existing Ethereum account. The signature of this message is used to derive the user's private key pair. See [`generateKeysFromSignature`](https://github.com/fluidkey/fluidkey-stealth-account-kit/blob/main/src/generateKeysFromSignature.ts) in the kit. The private key pair never leaves the user's client and is not stored locally. Every time the user re-opens the Fluidkey app and wants to send funds out, they must sign the key generation message again to derive their private keys. The private key pair is composed of two keys: * A **private spending key** used to control user funds and sign transactions * A **private viewing key** used to retrieve user funds and view transactions To allow Fluidkey to generate addresses on behalf of the user and retrieve their funds, the user shares a [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) derived node of their private viewing key with Fluidkey. The shared node is of the form `m/5564'/N'` where `N` is the number identifying the specific node shared. 5564 refers to [ERC-5564](https://eips.ethereum.org/EIPS/eip-5564) , focused on standardizing the use of stealth addresses. Fluidkey currently uses `0` as the `N` value for all users. In the future, `N` may also be used to reference a specific time period (e.g. year, Unix timestamp) or other dimension to be able to give third parties view access to this specific dimension only. See [`extractViewingPrivateKeyNode`](https://github.com/fluidkey/fluidkey-stealth-account-kit/blob/main/src/extractViewingPrivateKeyNode.ts) in the kit. [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-3.-stealth-accounts) 3\. Stealth Accounts ---------------------------------------------------------------------------------------------------------------------------- Fluidkey currently uses 1/1 [Safe smart accounts](https://github.com/safe-global/safe-contracts) as stealth accounts. They act as stealth addresses with the added UX benefits of smart accounts, such as gas sponsorship. By using Safe as the underlying smart account, Fluidkey users also benefit from the security of a battle-tested smart account implementation. ### [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-3.a.-stealth-signer-derivation) 3.a. Stealth Signer Derivation Each stealth account is controlled by a stealth EOA that acts as the sole signer authorized to approve transactions and control the stealth account. The stealth EOA is derived pseudo-randomly using the viewing key node shared by the user (see section 2.). Every time a new stealth account is required, the ephemeral private key used to derive the stealth EOA is a new leaf of the shared viewing key node. Specifically, each new stealth address request increments the viewing key node `p/n` by one and derives the secret from the obtained leaf `m/5564'/N'/c0'/c1'/0'/p'/n'`, where `c0` and `c1` represent the coinType of the chain used following [ENSIP-11](https://docs.ens.domains/ens-improvement-proposals/ensip-11-evmchain-address-resolution) . We use `c0'/c1'` and `p'/n'` to ensure no single number in the derivation path exceeds or equals `0x80000000` (`2^31`) in line with BIP-32 requirements. Currently Fluidkey uses a coinType corresponding to chainId `0`, which allows us to generate addresses valid across all EVM chains supported in the interface. A Fluidkey derivation path should therefore look like `m/5564'/0'/8'/0'/0'/p'/n'`. See [`generateEphemeralPrivateKey`](https://github.com/fluidkey/fluidkey-stealth-account-kit/blob/main/src/generateEphemeralPrivateKey.ts) and [`generateStealthAddresses`](https://github.com/fluidkey/fluidkey-stealth-account-kit/blob/main/src/generateStealthAddresses.ts) in the kit. The pseudo-random derivation of the stealth EOA ensures that the user can independently replay all stealth addresses generated and recover funds without relying on Fluidkey. ### [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-3.b.-counterfactual-instantiation) 3.b. Counterfactual Instantiation Sending assets to a user's stealth account does not require the deployment of the underlying smart contract. Instead, the stealth account's address is counterfactually predicted and is only deployed at the moment of withdrawal. See [`predictStealthSafeAddressWithClient`](https://github.com/fluidkey/fluidkey-stealth-account-kit/blob/main/src/predictStealthSafeAddress.ts) in the kit. [](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-4.-ens-resolution) 4\. ENS Resolution ------------------------------------------------------------------------------------------------------------------------ Fluidkey provides users with a static ENS of the form `username.fkey.id` and `username.fkey.eth`. This identifier resolves a new stealth address controlled by the recipient on every query. This allows users to send funds to a single human-readable identifier while protecting recipient privacy. Fluidkey uses an [ENS offchain resolver](https://github.com/ensdomains/offchain-resolver/) to return stealth addresses. Last updated 1 year ago --- # ENS Offchain Resolver | Fluidkey Docs An [ENS Offchain Resolver](https://docs.ens.domains/learn/ccip-read#offchain-resolution) represents a crucial part of Fluidkey's UX, facilitating the generation of privacy-preserving addresses while keeping a great UX and compatibility. Unlike traditional resolvers that require each transaction to be recorded on the blockchain, Fluidkey's solution operates offchain. This approach significantly reduces transaction fees and processing times, and it's the only way to maintain privacy. Other ENS systems like Coinbase's cb.id and Uniswap's uni.eth also use offchain resolvers, Fluidkey is however the only system that also provides enhanced privacy through an offchain resolver. ### [](https://docs.fluidkey.com/technical-documentation/ens-offchain-resolver#detailed-privacy-implications) Detailed Privacy Implications Inside Fluidkey, each user has [a **viewing** and a **spending** key](https://docs.fluidkey.com/technical-documentation/technical-walkthrough#id-2.-user-keys) associated to his own account. By differentiating between viewing and spending keys, Fluidkey ensures that it can generate new addresses by accessing the viewing key, while not able to control these addresses, keeping the solution fully self-custodial. In implementing the ENS Offchain Resolver, Fluidkey achieves a critical **balance** **between functionality** **and privacy**. Having access to generated addresses is crucial for operational purposes, such as indexing, which enables Fluidkey to effectively support user queries and interactions within the network, improving the UX by showing the total balance across addresses, or computing the most privacy preserving path to execute a transaction. While the generation of Stealth Addresses is based on an [open source kit](https://github.com/fluidkey/fluidkey-stealth-account-kit) , it's important to emphasize that this setup gives Fluidkey view access to the user's addresses, but doesn't enable Fluidkey to control any of the assets within these addresses. ### [](https://docs.fluidkey.com/technical-documentation/ens-offchain-resolver#embracing-decentralization) Embracing Decentralization Fluidkey's roadmap includes transitioning to a fully decentralized ENS Offchain Resolver. This ambitious goal is not straightforward and requires further research to get to a production-ready solution. Last updated 1 year ago --- # Stealth Account Initdata | Fluidkey Docs Fluidkey does not use any initdata when the auto-earn feature is disabled. When the auto-earn feature is enabled, initdata is passed to enable the Fluidkey [Fluidkey Earn module](https://github.com/fluidkey/fluidkey-earn-module) . You can learn more about the auto-earn feature [here](https://github.com/fluidkey/fluidkey-documentation/blob/main/readme/earn/README.md) . This initdata can be used to [recover stealth addresses](https://github.com/fluidkey/fluidkey-documentation/blob/main/readme/frequently-asked-questions/README.md#can-i-access-my-funds-without-fluidkey) independently of the Fluidkey app. [](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata#initdata-versions) Initdata versions ----------------------------------------------------------------------------------------------------------------------- ### [](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata#auto-earn-v1.0-till-april-10th-2025) Auto-earn v1.0 (till April 10th 2025) Copy // to address 0xa238cbeb142c10ef7ad8442c6d1f9e89e07e7761 // data 0x8d80ff0a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000212012dd68b007b46fbe91b9a7c3eda5a7a1063cb5b47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000648d0dc49f0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000074995e1075f1b0c308efacc56520d14e4954da6f0074995e1075f1b0c308efacc56520d14e4954da6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001046d61fe70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000ee8f4ec5672f09119b96ab6fb59c27e1b7e44b6100000000000000000000000060a3e35cc302bfa44cb288bc5a4f316fdb1adb420000000000000000000000001c155be6bc51f2c37d472d4c2eba7a637806e1220000000000000000000000000000 ### [](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata#auto-earn-v1.1-april-10th-2025-august-20th-2025) Auto-earn v1.1 (April 10th 2025 - August 20th 2025) Extends auto-earn v1 to more chains and pools. Copy // to address 0xa238cbeb142c10ef7ad8442c6d1f9e89e07e7761 // data 0x8d80ff0a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000172012dd68b007b46fbe91b9a7c3eda5a7a1063cb5b47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000648d0dc49f000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003bdb857afe9b51d8916d80240d2ade40d4d3f2f9003bdb857afe9b51d8916d80240d2ade40d4d3f2f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646d61fe70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000208aaeeb0a8f69d357a5b5fbe03dd796645c25526e98f41b8432dcd4fc21774cbf0000000000000000000000000000 ### [](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata#auto-earn-core-profile-v1.2-august-20th-2025-now) Auto-earn Core Profile v1.2 (August 20th 2025 - now) Copy // to address 0xa238cbeb142c10ef7ad8442c6d1f9e89e07e7761 // data 0x8d80ff0a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000172012dd68b007b46fbe91b9a7c3eda5a7a1063cb5b47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000648d0dc49f000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003bdb857afe9b51d8916d80240d2ade40d4d3f2f9003bdb857afe9b51d8916d80240d2ade40d4d3f2f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646d61fe7000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020d55dfa1406e6096fa99a5afb63577182aea39b3f05d26158ed25037102bc6a0b0000000000000000000000000000 ### [](https://docs.fluidkey.com/technical-documentation/stealth-account-initdata#auto-earn-optimized-profile-v1.2-august-20th-2025-now) Auto-earn Optimized Profile v1.2 (August 20th 2025 - now) Copy // to address 0xa238cbeb142c10ef7ad8442c6d1f9e89e07e7761 // data 0x8d80ff0a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000172012dd68b007b46fbe91b9a7c3eda5a7a1063cb5b47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000648d0dc49f000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003bdb857afe9b51d8916d80240d2ade40d4d3f2f9003bdb857afe9b51d8916d80240d2ade40d4d3f2f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000646d61fe70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000206d49fa56e09c4c8f4de4728d61253fb34f3a1950798f615c880235ea633ff5f90000000000000000000000000000 Last updated 17 days ago ---