Documentation Index
Fetch the complete documentation index at: https://docs.yattacorp.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What are Stealth Addresses?
A stealth address lets you receive funds or contract calls without linking transactions to your identity. Every sender generates a unique one-time address just for you — nobody watching the chain can tell which transactions belong to the same wallet. NEXUS implements the ERC-5564 Dual-Key Stealth Address Protocol using secp256k1 ECDH.Stealth addresses are live in V1. They are separate from Zcash shielded pools (z-addr), which are planned for V2.
How it Works (Plain English)
- You publish a stealth meta-address — two public keys (scan key + spend key)
- Sender looks up your meta-address, generates a random one-time key, and computes a unique address just for this transaction
- Transaction goes to that one-time address — no link to your real identity on-chain
- You scan new transactions using your private scan key to find yours
- You spend using a derived private key only you can compute
View Tags: Fast Scanning
Every transaction carries a 1-byte view tag (the first byte of the HKDF output). Before doing any expensive elliptic curve math, the scanner checks the view tag — this filters out 99.6% of non-matching transactions instantly.Privacy Properties
| Property | Status |
|---|---|
| Sender cannot be linked to recipient | ✅ |
| Multiple receipts unlinkable | ✅ |
| Works for transfers | ✅ |
| Works for contract calls | ✅ |
| Scan key can be delegated (watch-only) | ✅ |
| Spend key never revealed during scan | ✅ |
Stealth Contract Calls
Stealth addresses work for smart contract interactions too, not just transfers. The NEXUS miner resolves the stealth address to your real address before execution, so contracts see your realmsg.sender — approvals, ownership checks, and balances all work correctly. The public block record only shows the unlinkable one-time address.
Using Stealth Addresses (TypeScript SDK)
Key Derivation
Stealth scan and spend keys are derived from your master key using HKDF-SHA256 with domain separation:Scanning Privacy
Scanning is fully client-side — your scan private key never leaves your device. You fetch the global stealth transaction snapshot from a NEXUS node, then compute locally which transactions are yours. The node never learns which transactions belong to you.Cryptographic Details
| Component | Specification |
|---|---|
| Key agreement | ECDH on secp256k1 |
| Key derivation | HKDF-SHA256 (RFC 5869) |
| Domain | nexus-stealth-address-v2 |
| View tag | 1 byte (first HKDF output byte) |
| Address format | 32-byte x-only pubkey (Taproot-compatible) |
| Comparison | Constant-time to prevent timing attacks |