Quick Start
Move real tokens through the shielded pool and watch what the chain does and does not reveal. No node to run, no code to write — a browser wallet and testnet ORB are enough.
A wallet — MetaMask, Talisman, SubWallet or Polkadot.js — and a Discord account to use the faucet. That is all.
1. Connect and get ORB
Open app.orbinum.network and connect your wallet. The app asks which network; choose Orbinum Testnet.
Then get tokens from the faucet: 5 ORB, once per 24 hours. They arrive as an ordinary public balance, visible to anyone.
| Network | Orbinum Testnet |
| Chain ID | 2700 |
| Explorer | explorer.testnet.orbinum.network |
Look up your address in the explorer. Your balance is there, in the clear. That is the starting point — everything below is about making it stop being visible.
2. Unlock your vault
Go to Wallet → Shielded. The first time, the app asks you to sign a message.
That signature derives your privacy keys — the spending key that moves your notes, the viewing key that decrypts them, and the key that encrypts your local vault. It is not a transaction, costs nothing, and never leaves your browser.
That one signature is your private identity. A site that gets you to sign the
same message can derive the same keys and spend your notes. Check the domain is
app.orbinum.network before signing.
You will only be asked once per account — the app caches the result, encrypted. A prompt appearing out of nowhere later is a reason to stop.
3. Shield some ORB
Wallet → Shielded → Shield. Enter an amount — try 5 ORB — and confirm.
What just happened: your public balance dropped, and the chain gained a commitment — a hash that reveals nothing about who owns it or what it holds. Your vault now holds a note that only your viewing key can open.
Check the explorer. You will see that a shield happened and for how much: this step is deliberately public, because the tokens came from a public balance and the amounts must add up. Shielding is the visible edge. What happens next is not.
4. Send privately
For this you need a privacy address — not a wallet address. Yours is under
Wallet → Shielded, an orbpriv3:… string. It carries two public keys: one so
someone can build a note you own, one so they can encrypt its memo to you.
Sharing it grants nobody the power to spend.
Wallet → Shielded → Private Transfer. Paste a privacy address, enter an amount, confirm. Proof generation takes a few seconds in your browser — that is the ZK proof being built locally, and it is why nothing had to be revealed.
Now look at the transaction in the explorer:
| The chain shows | The chain does not show |
|---|---|
| a nullifier was published | which note it consumed |
| new commitments were inserted | who owns them, or for how much |
| a fee was paid | who sent it, or who received it |
There is no sender address on that extrinsic, because there is no signature. The fee travels inside the proof, which is what lets a private transfer happen without a public account paying gas — see Gasless Fees.
No second wallet? Send to your own privacy address. The transfer is real, and the recipient note is unlinkable to the one it came from — which is the property worth seeing.
5. Unshield back
Wallet → Shielded → Unshield. Enter an amount and a destination address.
The note is consumed and the tokens reappear as a public balance. Withdraw only part of it and the remainder returns to the pool as a fresh note.
This is the other visible edge: the recipient and the amount are on-chain again. What stays private is where those tokens had been in between — the transfer in step 4 never linked the two.
What you just proved
- Balances inside the pool are commitments, not amounts.
- A private transfer publishes a nullifier and new commitments with no link between them, and no signer.
- Shield and unshield are the only points where an amount is public.
- Your notes live encrypted in your browser. Losing the device is recoverable — the same signature rebuilds the keys, and a rescan rebuilds the vault from chain data.
Next Steps
- Private Vault — how the vault works, and what each operation reveals
- Payment Slips — hand a recipient the note you just sent
- Recovery & Rescan — getting your notes back on a new device
- Privacy Architecture — what the design does and does not hide
- Building on Orbinum — read the chain and compose payments from code
- Running a Node — run your own node, or validate
Troubleshooting
| Issue | Fix |
|---|---|
Faucet says not_guild_member | Join the Discord server first |
| Wallet will not connect | Confirm the network is Orbinum Testnet (chain ID 2700) |
| Proof generation seems stuck | It runs in your browser and takes a few seconds; keep the tab focused |
| Shielded balance looks wrong after reinstalling | Run a rescan — see Recovery & Rescan |
Transfer rejected as FeeTooLow | The relay fee floor moved; refresh the app so it reads the current value |