> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unwallet.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fluid Key Stealth Addresses Explained

> A user and developer-friendly guide to how Fluid Key implements stealth addresses, based on @DevSwayam's Twitter thread.

<Info>
  **Who is this for?**
  Anyone interested in a real-world implementation of stealth addresses and privacy-preserving payments. This page covers Fluid Key’s unique approach, UX, and technical lessons.
</Info>

<Info>
  Background: For a general introduction to stealth addresses, see the [Unwallet User Guide](./x402-user-guide.mdx) or [Stealth Address Technical Guide](./x402-stealth-technical.mdx).
</Info>

## Fluid Key User Experience

* Claim your unique Fluid Key ID for free in the Fluid Key app.
* Share your Fluid Key ID with anyone who wants to send you funds.
* The sender can search for your Fluid Key ID on Etherscan and find a resolver address to send funds to.
* Each time the page is refreshed, a new resolver address is generated from your Fluid Key.

<Check>
  You never need to manage addresses manually—Fluid Key handles it for you!
</Check>

### Example: Sending and Spending

* Sent \$0.10 USDC to two different stealth addresses on Base.
* You can spend all funds from multiple stealth addresses in a single transaction.
* Gas fees can be deducted from the asset itself (e.g., USDC), allowing you to withdraw your entire balance efficiently.

[See an on-chain transaction example](https://basescan.org/tx/0xd51adae88...)

## Fluid Key for Developers

* Fluid Key has open-sourced their SDK.
* You can build your own Fluid Key proof-of-concept using their [tutorial video](https://youtu.be/ZRoIovLDZFM?si...).

## How Does Fluid Key Work?

### 1. What are Stealth Addresses in Fluid Key?

* Stealth addresses are actually Safe smart accounts controlled by randomly generated EOAs (Externally Owned Accounts) created using the Fluid Key SDK.
* Only the user owns the spending key required to move funds from the Safe.

### 2. How are Stealth Addresses Generated?

* Safe smart account addresses are deterministically derived from random EOAs and deployment parameters.
* Anyone can generate the Safe address, but only the user controls the spending key.

### 3. Moving Funds from Multiple Stealth Addresses

* Safe allows transactions to be signed off-chain and executed by a bundler.
* The bundler charges a fee in the sending asset (e.g., USDC).
* Users can move all their funds from multiple stealth addresses with one click.

## Privacy: Unlinkability vs. Untraceability in Fluid Key

* **Unlinkability:** Each transaction uses a unique stealth address, so external observers cannot link transactions to the same user.
* **Untraceability:** Not fully provided by Fluid Key alone. Transaction paths can be traced, but the identity of the intermediary remains hidden.

### Example

* Merchant 1 sends \$100 to User X's stealth address.
* User X later spends funds with Merchant 2.
* Observers can trace the flow, but cannot link User X as the intermediary.

## Achieving Full Privacy with Privacy Pools

* Deposit funds into a privacy pool to break the link between sender and future transactions.
* The pool splits funds and sends them to multiple stealth addresses.
* Spending from these addresses appears as random transactions, ensuring both unlinkability and untraceability.

## UX Challenges

* Managing many stealth addresses (each a smart contract account) means handling many EOAs.
* Most DeFi apps only connect to one wallet at a time, making it hard to combine balances across stealth accounts for transactions.

<Check>
  Fluid Key is open source and actively improving privacy and UX for on-chain users!
</Check>

***

<small>Source: [@DevSwayam Twitter thread](https://x.com/DevSwayam/status/1870352410587332895) | [Thread mirror](https://twitter-thread.com/t/1870352410587332895)</small>
