Private Transfers
This guide covers sending tokens privately between privacy addresses.Basic Transfer
Transfer Parameters
Transfer Result
Paying Several Recipients at Once
sendBatch pays every recipient from one set of input notes, in a single
request: one fee instead of one per recipient, and one epoch slot instead of
several. Output order follows the list, and the same recipient may appear more
than once.
How many recipients fit
The server proves a fixed set of(inputs, outputs) shapes, and a transfer has
to fit inside one of them. Its output count is your recipient count plus a
change note, so a longer recipient list leaves room for fewer input notes:
So 5 inputs by 3 outputs is not provable, even though 15 inputs and 11 outputs
are each individually fine. In practice: past two recipients, the transfer has
to be coverable by at most four notes. Consolidate fragmented notes first if a
batch is rejected with
UNSUPPORTED_TRANSFER_SHAPE, or split the payout across
two batches.
Privacy Address Validation
Always validate privacy addresses before sending:Looking Up Privacy Addresses
If you have a user’s MPK or Ethereum address, you can look up their privacy address:Checking Balance Before Transfer
Transfer Privacy
Private transfers provide:- Sender Privacy: Your wallet address is not linked to the transaction
- Recipient Privacy: The recipient’s wallet address is not revealed
- Amount Privacy: The transfer amount is encrypted
- Relationship Privacy: No public link between sender and recipient