Module 1: The Vault (Shielded Asset Management)
ZendexVaultManager coordinates token custody, private balance creation, and balance restructuring. The system supports four distinct operational flows:
- Deposit: Locks public ERC-20 tokens into the non-upgradeable
ZendexVaultcontract and mints an equivalent private commitment inTreeOperator. - Withdraw: Verifies a client-side
WithdrawVerifierproof and nullifier, releases underlying ERC-20 tokens fromZendexVault, and transfers them to a designated public destination address. - Split: Consumes a single high-value commitment and produces two smaller output commitments (e.g., splitting a 100 USDC commitment into two 50 USDC commitments) without moving funds publicly.
- Join: Merges two separate commitments of the same asset type into a single consolidated output commitment.
Deposits Are Private Notes
When you deposit, your tokens move into the vault and you receive a note: a commitment, a cryptographic fingerprint of the token, the amount and a random secret. Only the commitment goes on-chain. The secret stays in your browser and is what lets you spend the note later.
A note is always spent whole. That is why Withdraw, Swap and limit orders use the full amount of the deposit you pick. To use only part of it, first Split the deposit into two notes. To combine two deposits of the same token, Join them.
Spending a note creates new notes for what you get back, and they appear in your deposit history. The amount of a deposit or a withdrawal is visible on-chain, as with any token transfer.
The Dust Address
Your dust address receives withdrawals and any leftover amounts from swaps and liquidity actions. It is a normal EVM address derived from your Zendex Key, so it is not your connected wallet. You can see it in the header and on the Account page, and you can also set your own dust address there, for example a fresh wallet you already control.
To use the funds that arrive there, see the steps under Testnet User Notes.