Skip to main content
This guide walks through onboarding a new user: derive keys, register on-chain, scan for payments, and sweep funds.

Step 1: One-time key setup

Step 2: Register the meta-address

Check registration first:
Register on each chain you want to receive on:
Your meta-address is chain-neutral — the same keys receive on Ethereum, Solana, and Starknet. Starknet registration is done with the @opaquecash/stealth-chain-starknet call builders (SNIP-12 on-behalf registration) rather than the registerMetaAddress facade. See Starknet for the full flow.
Share client.getMetaAddressHex() with senders who already have your meta-address, or let them resolve via registry:

Step 3: Scan the inbox

Step 4: Check balances

For ERC-20 aggregation on Ethereum (tracked token set):

Step 5: Sweep to a fresh address

sweep reconstructs the one-time stealth private key in WASM and signs a transfer from the stealth address. Never log or persist reconstructed keys beyond your threat model.
sweep covers Ethereum and Solana. For Starknet outputs, use client.buildStarknetSweep({ output, destination, amount }) — it returns calls the app broadcasts via starknet.js, and the counterfactual stealth account self-funds its deploy fee. See Starknet.

Ghost receive (optional)

For flows where funds arrive before an announcement: