# Generate a Stealth Address

### **Generate a Stealth Address**

When a user initiates a private transfer, Shady uses the **recipient’s Meta-Public Key** to create a **unique one-time stealth address**.\
This address is derived through elliptic curve cryptography (using **Ed25519 → X25519 key exchange**) to ensure the address is:

* **Mathematically unlinkable** to the recipient’s wallet.
* **Unique** for every transaction.
* **Recoverable** only by the intended recipient.

🔑 **Meta-Key Structure**

| Key Type                   | Purpose                         | Example Use           |
| -------------------------- | ------------------------------- | --------------------- |
| **View Public Key (Vpk)**  | Detect encrypted incoming funds | Used by scanner/AI    |
| **Spend Public Key (Spk)** | Authorize transfers & claims    | Used by wallet signer |

🧮 *Derivation:*

```
StealthAddress = Hash(Vpk, Spk, EphemeralKey)
```

The sender’s wallet generates an **ephemeral key** for each transaction, creating a new stealth address that only the recipient’s view key can recognize.
