Docs / Send
Using Ordeo
Send ORDEO privately to an address or private address
In a private send, your notes are spent and the recipient gets a fresh note. Through a bundler, neither your address nor the amount appears on chain.
What you need
- Shielded ORDEO (or ETH) in your notes, enough for the amount plus the fees.
- The recipient’s private address, or their ordinary
0xaddress if they registered their keys. - If the recipient has neither, make a payment link instead.
Steps
- 01
Open send
In /app, choose send.
- 02
Enter the recipient
Paste an
ordeo:private address, or a0xaddress. For a0xaddress the app looks up its registered keys and tells you if there are none. - 03
Enter the amount
The app shows the transfer fee and the bundler’s flat ORDEO fee.
- 04
Prove and submit
Your browser makes a zero-knowledge proof, which takes a few seconds. The bundler submits it. Your change comes back to you as a new note.
- 05
Share proof of payment if needed
After sending, you can create a link that opens the one note you made for the recipient, which anyone can check at /verify.
What each side sees on chain
| Who | Sees |
|---|---|
| Anyone | A pool transaction from the bundler carrying two nullifiers and two fresh commitments, plus a flat ORDEO fee to the bundler |
| You | Your new change note |
| The recipient | A new note that opens with their viewing key, with its asset and value |
| Nobody | Who sent it, who received it, the amount, or which notes were spent |
Proof of payment
The link from step five carries the details of the recipient’s note: asset, value, recipient key, blinding, leaf index and transaction. /verify recomputes the commitment, checks it is in the pool at that position in that transaction and, if the recipient registered, shows their address. It keeps the sender hidden, and funds cannot be moved with it, because spending needs the recipient’s spending key.
What can go wrong
- No bundler answers. You can submit from your own wallet. It pays gas in ETH and your address appears as the sender.
- Bundler is warming up. A new bundler refuses ORDEO-paid work until it has enough price samples. Try another or wait.
- Proof expired. If more than 100 notes were added since your proof was made, its root is no longer accepted. The app makes a new proof.
- Recipient not registered. Ask for their private address, or pay them with a payment link instead.