Skip to content
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.


On this page

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 0x address if they registered their keys.
  • If the recipient has neither, make a payment link instead.

Steps

  1. 01

    Open send

    In /app, choose send.

  2. 02

    Enter the recipient

    Paste an ordeo: private address, or a 0x address. For a 0x address the app looks up its registered keys and tells you if there are none.

  3. 03

    Enter the amount

    The app shows the transfer fee and the bundler’s flat ORDEO fee.

  4. 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.

  5. 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

WhoSees
AnyoneA pool transaction from the bundler carrying two nullifiers and two fresh commitments, plus a flat ORDEO fee to the bundler
YouYour new change note
The recipientA new note that opens with their viewing key, with its asset and value
NobodyWho 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.
Until the contracts are deployed, the app runs in practice mode: each action is a signed message, no transaction is sent and balances are practice balances. The same screens go live once the contracts are deployed.