Core workflow

Private transfer

Send value to another Veilo user without it ever leaving the pool. No public address is involved on either side.

How it works

Rather than withdrawing to an external address, you can send funds to another Veilo user entirely inside the pool. No funds appear on any public address, and the recipient is notified privately that new funds are available.

1

Name the recipient

A Veilo username is enough. It is a human-readable handle inside the pool, not an on-chain address.

2

Your notes are spent and reissued

The transfer spends one or more of your notes and creates new ones, theirs, plus change back to you.

3

They are notified privately

The notification tells them value arrived. It does not expose account contents to the notification transport.

What this does and does not expose

PropertyResult
Sender's public addressNot involved
Recipient's public addressNot involved
AmountHidden. Movement inside the pool keeps amounts hidden
That a pool operation occurredVisible, as with any pool activity
Who transferred to whomNot derivable from the chain

This is the strongest flow in Veilo

A withdrawal has to publish an amount and a destination because it exits to the public chain. A private transfer never exits, so neither is published. If both parties are on Veilo, prefer it.

Usernames

Veilo usernames exist so that sending privately does not require exchanging long addresses out-of-band, which is itself a leak, since a shared address is a shared identifier. A username resolves inside the pool. See Apps & clients.

The recipient’s side

The value arrives as a new note in their private balance. They can hold it, transfer it on, swap it, spend it through private execution, or withdraw it to any address they choose, and their withdrawal has no relationship to your transfer.