How it works
Privy supports batch transactions on both EVM and Solana chains, but the mechanism differs for each.EVM
On EVM chains, Privy uses thewallet_sendCalls RPC method to send multiple calls in a single atomic batch. Under the hood, Privy leverages EIP-7702 to upgrade your user’s wallet to a Kernel smart contract, which enables batched execution.
- Without sponsorship: The wallet executes a
self.executecall on the upgraded Kernel contract, bundling all calls into a single atomic transaction. - With sponsorship: Privy routes the batch through a bundler and paymaster, which covers the gas fees on behalf of the user. Set
sponsortotruein the request body to enable this.
Solana
On Solana, batch behavior is achieved by adding multiple instructions to a singleTransaction. The Solana runtime processes all instructions in a transaction sequentially, and the transaction is atomic — if any instruction fails, the entire transaction is reverted.
Learn more about sending Solana transactions in the Solana recipes.
Sending batch transactions on EVM
Use thewallet_sendCalls method via the Privy wallets RPC endpoint to send multiple calls in a single batch.
Example: sending two transfers
Example: approve and swap in one batch
A common use case is combining an ERC-20 approval with a swap in a single atomic batch:With gas sponsorship
To sponsor gas for the batch transaction, setsponsor to true:
Response
A successful request returns atransaction_id and the caip2 chain identifier:
transaction_id to track the status of the transaction.
Sending batch transactions on Solana
On Solana, batching is done by adding multiple instructions to a single transaction. See the Sending SOL recipe for a complete walkthrough. Here is an example of batching two SOL transfers in a single transaction: Then sign and send the transaction using any of the Privy SDKs as shown in the Sending SOL recipe.Next steps
- API reference:
wallet_sendCalls— Full parameter and response documentation - Gas sponsorship — Learn how to sponsor gas for batch transactions
- Sending SOL — Solana transaction recipes
- Sending USDC — Formatting ERC-20 token transfers

