Skip to main content
Transfers tokens from your public Associated Token Account (ATA) into an on-chain encrypted balance. After a successful deposit, the balance is hidden — it can only be decrypted by the owner’s key. The deposit follows the dual-instruction pattern: the CLI submits a handler transaction, waits for the Arcium MPC network to process it, then waits for the callback transaction to confirm. Both signatures are printed on success.

Arguments

Amounts are in base units, not display units. For a token with 6 decimals, 1000000 equals 1 token. For SOL (9 decimals), 1000000000 equals 1 SOL.

Options

Examples

Output

Queue is the handler transaction that queues the MPC computation. Callback is the on-chain transaction that finalizes the deposit after MPC processing. When --no-await-callback is passed, only Queue is printed.
Use --no-await-callback in automated pipelines or when the network is slow. The deposit is complete once the queue transaction lands — the callback is processed by the Arcium network independently and does not need to be observed by the CLI.
The depositor’s wallet address, the recipient address, and the gross transfer amount are all visible on-chain. Only the resulting encrypted balance is hidden. Deposits are not anonymous by themselves — use the mixer (utxo create) for unlinkable transfers.

Prerequisites

  • A user must be added and active (umbra user add).
  • Both the sender and the recipient must have run umbra register.
  • The sender must have sufficient token balance in their public ATA.