Server — build and sign a Token-2022 confidential transfer
Decrypts the wallet’s stored confidential seed inside the enclave, generates the zero-knowledge proofs the requested operation requires, builds the Token-2022 confidential-transfer instructions and returns the MPC-signed transactions in broadcast order. The caller supplies on-chain account state, the rent constant and a fresh blockhash; the enclave is offline and cannot reach Solana RPC.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Request proof: a compact ES256 JWS, signed with the server's registered key, binding this request to a single-use nonce from GET /nonces. The JWS header is ServerSignerProofHeader and its payload is ServerSignerProofPayload. Required when the request carries a DYN API token and no JWT, and a server signer with a registered key controls the resource. A proof that is present is always verified.
4096^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$Path Parameters
ID of the environment
36^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"95b11417-f18f-457f-8804-68e361f9164f"
UUID of the wallet
36^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"95b11417-f18f-457f-8804-68e361f9164f"
Body
Solana address (base58 public key) whose confidential seed signs the operation. The seed must already exist (see POST /waas/{walletId}/confidentialSeed or the PUT variant).
^[1-9A-HJ-NP-Za-km-z]{32,44}$The Token-2022 confidential-transfer operation to build and sign.
configureAccount, deposit, transfer, applyPendingBalance, withdraw The Token-2022 mint.
^[1-9A-HJ-NP-Za-km-z]{32,44}$The source confidential-capable token account.
^[1-9A-HJ-NP-Za-km-z]{32,44}$Current cluster rent constant in lamports per byte (e.g. 6333), used to compute rent exemption for the proof accounts. This is the per-byte rate, not the per-account total returned by getMinimumBalanceForRentExemption.
^[0-9]+$SVM cluster identifier (genesis hash), binding the transaction to one cluster.
A recent blockhash (or durable-nonce value) fetched moments before invoking, since the enclave is offline and cannot reach Solana RPC.
The last valid block height paired with recentBlockhash.
^[0-9]+$Version of the stored seed to sign with. Defaults to the newest stored version; must match the version active on the confidential token account.
x >= 1Required for transfer: the recipient's confidential-capable token account for the same mint.
^[1-9A-HJ-NP-Za-km-z]{32,44}$Required for deposit, transfer and withdraw: the token amount in base units, decimal-encoded (u64).
^[0-9]+$The mint's decimals, required for deposit and withdraw. Read from the mint account by the caller.
0 <= x <= 255The mint's confidential-transfer auditor ElGamal public key, when configured. Read from the mint account by the caller; omit when the mint has no auditor.
^[1-9A-HJ-NP-Za-km-z]{32,44}$The account that pays transaction fees. Defaults to solanaAddress.
^[1-9A-HJ-NP-Za-km-z]{32,44}$Raw on-chain state of a Token-2022 account, read via getAccountInfo (base64 encoding) and relayed to the enclave, which is offline and cannot reach Solana RPC.
Raw on-chain state of a Token-2022 account, read via getAccountInfo (base64 encoding) and relayed to the enclave, which is offline and cannot reach Solana RPC.
Response
Signed transactions, ready to broadcast
Base64-encoded signed transactions in broadcast order: proof verification, execution, then proof-account closures.
1Base58-encoded ed25519 signature over each transaction — the transaction id once confirmed, in the same order as serializedTransactions.
1