Core concepts

How Veilo works

Ownership is represented by a proof, not by an address. Everything else follows from that one substitution.

Proof-based ownership

1

You deposit

Your wallet generates a secret known only to you, and the pool records a cryptographic fingerprint derived from it. The funds are now held by the pool.

2

You prove, later

When you want to spend, you generate a proof that you know the secret behind one of the many fingerprints in the pool, without revealing which one.

3

The program verifies and releases

The proof is verified on-chain and the funds are released to any address you choose. Nothing in that transaction identifies which deposit funded it.

That is the whole substitution. You are no longer saying “I am the address that owns this”; you are saying “I know a secret behind one of these, and here is a proof you can check.” The connection between deposit and withdrawal is severed at the cryptographic layer, not obscured by volume or timing.

The moving parts

ComponentWhat it does
Privacy poolsShared pools where funds from many users are held together.
Zero-knowledge proofsMathematical proofs that let you prove ownership without revealing any underlying details.
Spend protectionEnsures a deposit can be spent once and only once, without revealing which deposit was spent.
Relayer networkIndependent third-party submitters who broadcast your transaction so your own wallet never touches it.
Private executionLets a private balance act on external protocols without exposing who is behind it.

Why the relayer matters

A proof proves ownership, but somebody still has to submit the transaction, and the submitter is visible on-chain. If you submitted it yourself, your wallet would be the signer, and the link you just severed cryptographically would reappear at the network layer. So a relayer submits it instead.

Inside the pool

Funds inside the pool can be split, merged, or transferred between users without ever touching a public wallet. This has a consequence worth stating plainly: a withdrawal amount need not correspond to any deposit amount. Value that entered as one deposit can leave as several withdrawals of arbitrary size, and value that entered as several deposits can leave as one.

The unit this movement operates on is a note. See Notes & private balance for how a balance is actually stored and why your client sometimes consolidates it.

Privacy grows with the pool

Every deposit made by any user into the same pool increases the anonymity set, the set of deposits your proof could plausibly be about. The larger and more active the pool, the harder it is to associate any deposit with any person.

  • Pools are sized to hold very large anonymity sets.
  • New capacity is added automatically as they fill.
  • Every user’s activity strengthens every other user’s privacy.

Privacy here is statistical, not absolute

It rests on the size and activity of the anonymity set. Unusual amounts or tightly coupled timing reduce it. A one-of-a-kind deposit followed minutes later by an identical withdrawal narrows the set to one, no matter how strong the cryptography is. See Best practices.

Beyond holding

Everything above describes a pool that holds value and releases it. The part that makes Veilo a layer rather than a vault is that a private balance can also act: trade, hold a position, place a resting order, spend at a merchant , while the identity behind it stays unlinkable. That is private execution.