Skip to main content
umbra eta deposit <mint> <amount> [options]
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

ArgumentDescription
<mint>The SPL or Token-2022 mint address
<amount>Amount in native token units (e.g. 100000000 for 100 USDC)
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

FlagDefaultDescription
--recipient <address>Your own addressWallet address to credit. Deposits to any registered Umbra user.

Examples

# Deposit 100 USDC into your own encrypted balance
umbra eta deposit EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 100000000

# Deposit 50 USDC into another user's encrypted balance
umbra eta deposit EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 50000000 \
  --recipient GsbwXfJraMomNxBcpR3DBFyKCCmN9SKGzKFJBNKxRFkT

Output

✓ Deposit complete
  Queue:    5KtP...vXm2
  Callback: 8aLr...nQ9w
Queue is the handler transaction that queues the MPC computation. Callback is the on-chain transaction that finalizes the deposit after MPC processing.
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

  • umbra init must have been run.
  • Both the sender and the recipient must have run umbra register.
  • The sender must have sufficient token balance in their public ATA.