deposit, transfer, or withdraw with the same intent shape. Each call prepares, then you execute.
For Stellar code, see Deposit.
Shared operation inputs
Deposit
Move value from a public wallet balance into a private pool note.- Prepare — validate asset catalog, pool state, wallet secrets, and disclosure policy.
- Execute — sign and submit the pool deposit; emit encrypted audit data per policy.
- After success — SDK adds a new private record and updates pool state in local storage.
Withdraw
Spend a private pool note and pay out to a public wallet.- Prepare — select note(s) covering the amount, validate pool root, check disclosure.
- Execute — submit pool withdrawal; move public asset to the recipient account.
- After success — mark consumed record(s); persist change note if amount exceeds withdrawal.
execute() is for public-sender / positive public deposit.
Transfer to registered recipient
Spend a sender note and create output note(s) for a recipient who is already in the registry cache.- Prepare — resolve recipient private payment address from registry lookup; validate sender balance.
- Execute — submit pool transact with recipient output and optional sender change.
- After success — update consumed/sender records and add recipient/change records.
Transfer to unregistered recipient (escrow send)
Send to a public wallet when the recipient has not registered a private address yet. The prepared transaction stays indistinguishable from an ordinary private transfer.- Prepare — validate sender state and use private disclosure (recipient/asset/amount private).
- Execute — preset derives an escrow note owner from a random nonce and the recipient G-address. Public escrow recipient limbs stay zero.
- Submit — escrow sends require Protocol Relay and a zero public deposit.
transactEnvironment hooks. See Transfer to unregistered recipient.
Typical disclosure:
Operation comparison
Stellar addresses, seed-state fixtures, and full code blocks live in the how-to guides. Seed state blocks are documentation fixtures, not production onboarding — see State methods.
Deposit sequence
Related
Operation lifecycle
Prepare, execute, errors, and progress events.
Disclosure policy
Public vs private fields per route.
State methods
Production vs fixture state.