Skip to main content

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.

What you need

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.

NetworkOrbinum Testnet
Chain ID2700
Explorerexplorer.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.

Only ever sign this on the real app

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 showsThe chain does not show
a nullifier was publishedwhich note it consumed
new commitments were insertedwho owns them, or for how much
a fee was paidwho 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.

Paying yourself works

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


Troubleshooting

IssueFix
Faucet says not_guild_memberJoin the Discord server first
Wallet will not connectConfirm the network is Orbinum Testnet (chain ID 2700)
Proof generation seems stuckIt runs in your browser and takes a few seconds; keep the tab focused
Shielded balance looks wrong after reinstallingRun a rescan — see Recovery & Rescan
Transfer rejected as FeeTooLowThe relay fee floor moved; refresh the app so it reads the current value