Documentation

Everything you need to know about using Nøkto and integrating the SDK

Technical Details
Important addresses and configuration

Program ID

The stealth address program deployed on Solana

463ouCTi...TQeVu62a

Fee Recipient

Protocol fee recipient address

5ryJ537z...eprtaCSy

Protocol Fee

Fee charged per stealth transfer

0.002 SOL

Scheme ID

Cryptographic scheme used (secp256k1)

1
Important Notes

Fee Payer Configuration

When building transactions, the fee payer must be set correctly. The sender pays for:

  • Transaction fees (~0.000005 SOL)
  • Protocol fee (0.002 SOL)
  • Rent for the stealth address account (~0.00089 SOL)

Wallet Signature for Key Derivation

When using "Derive from Wallet", the same wallet signature always produces the same stealth keys. This is deterministic - you can restore your keys on any device by connecting the same wallet.

Indexer Sync Status

The "slots behind" indicator shows the gap between the last indexed transaction and the current blockchain slot. If no new stealth transfers occur, this number will naturally grow. It does not mean your transactions are missing.

Frequently Asked Questions

Stealth addresses provide privacy by generating a unique, one-time address for each payment:

  1. Recipient publishes a stealth meta-address (contains two public keys)
  2. Sender uses the meta-address to derive a unique stealth address
  3. Sender sends funds to the stealth address and publishes an announcement
  4. Recipient scans announcements to find payments addressed to them
  5. Recipient derives the private key for matched addresses and withdraws funds

This way, the recipient's main wallet is never linked to incoming payments on-chain.

How It Works (Technical)

1. Key Generation

The recipient generates two secp256k1 keypairs: a spending keypair (Kspend) and a viewing keypair (Kview). These are combined into a stealth meta-address.

2. Address Derivation

The sender generates an ephemeral keypair (r) and computes a shared secret using ECDH with the recipient's viewing public key. The stealth address is derived as: P = Kspend + hash(shared_secret) * G

3. Announcement

The sender publishes the ephemeral public key and a view tag (first byte of the hash) on-chain. This allows the recipient to efficiently scan for payments.

4. Scanning

The recipient uses their viewing private key to check each announcement. The view tag allows quick filtering (only 1/256 announcements need full verification). For matches, they can derive the spending private key.