OptionalapplyPending?: booleanWithdraw from what is pending too (default true): the one-transaction withdraw applies the
pending balance first, in the same transaction, as transfer() does. With proof accounts only
the available balance can be withdrawn.
Mint decimals (must match the mint).
Optionalkeys?: ConfidentialKeypairsThe owner's keys from deriveConfidentialKeys; skips the message signature.
Mint configured for confidential transfers.
Owner of the token account: the withdraw authority, and the key source unless keys is given.
Pays the transaction fees, and the rent of proof accounts if any (refunded when they close).
OptionalprogramAddress?: AddressToken program. Default: Token-2022.
RPC client, e.g. createSolanaRpc(url).
Used to confirm the transaction(s).
OptionalsingleTransaction?: booleanSend the withdraw as one transaction with its proofs inside (default true). That needs a v1
transaction (up to 4,096 bytes), which Solana accepts since September 2026. Set false for a
wallet or RPC that cannot handle v1 transactions: the proofs then go into proof accounts, as
before 1.0.0. The SDK falls back to proof accounts by itself when the one transaction would be
too large.
Optionaltoken?: AddressToken account to withdraw from (defaults to the owner's ATA).
Amount (base units) to move from the confidential available balance to the public balance.