Early Access note: This feature is available through Fireblocks' Early Access (EA) program. To request access, go to Settings > Labs, and select Request Access next to EVM Batched Transactions. Alternatively, Contact your Customer Success Manager to enable it for your workspace.
Overview
EVM Batched transactions allow you to send an ERC-20 token to many recipients in a single, atomic on-chain transaction. Instead of submitting one transaction per recipient, you pass multiple entries in the destinations array of the standard createTransaction API call. All transfers settle together in one transaction, or none of them execute.
This is useful for payroll runs, distributor and partner payouts, treasury distributions, token airdrops, and rewards programs, where you need to pay many recipients at once.
Gas for the transaction is paid by a relay vault using EVM Gasless (Universal Gasless). Your source vault keeps its own address as the sender, so counterparties, exchanges, and analytic tools continue to see the transaction as originating from your vault.
Key benefits
- Atomicity: all transfers in the batch succeed together or the entire transaction reverts, so you never end up with a partially completed payout run.
- Lower gas cost: the base transaction fee is paid once for the entire batch instead of once per-recipient. Savings grow with the number of recipients and are larger on Layer 2 networks.
- Your vault address is preserved: the source vault remains the on-chain sender, so exchange crediting and address attribution keep working.
Prerequisites
Before you can execute a Batched transaction, make sure the following are in place:
- EVM Gasless (Universal Gasless) is enabled for your workspace.
- A relay vault is configured and funded with enough native gas asset (for example ETH) to sponsor the transaction.
- Your source vault holds a sufficient balance of the ERC-20 token you want to send.
- Your Policy covers outgoing transfers from the source vault and the rules needed for EVM gasless transactions
Phase 1 limitations
EVM Batched Transactions are available in an early release with the following limitations. Review these before you build against the feature.
- ERC-20 tokens only: native assets such as ETH are not supported for batching in this phase.
- Gasless only: the source vault cannot pay its own gas in this phase. Gas must be sponsored by a relay vault, which requires EVM Gasless to be activated.
- API only: There is no Console UI for building or submitting batches in this phase.
- Supported chains: all chains which support EVM Gasless.
- All recipients in a single batch must receive the same asset. Mixed-asset batches are not supported.
- A batch can include up to 50 recipients. Batches above 50 recipients are rejected.
How to send a Batched transaction
Use the standard create transaction endpoint and provide a destinations array instead of a single destination.
Endpoint
POST /v1/transactions
Request body
{
"operation": "TRANSFER",
"assetId": "USDT_ERC20",
"source": {
"type": "VAULT_ACCOUNT",
"id": "1"
},
"destinations": [
{
"amount": "10.00",
"destination": {
"type": "VAULT_ACCOUNT",
"id": "2"
}
},
{
"amount": "10.00",
"destination": {
"type": "VAULT_ACCOUNT",
"id": "3"
}
},
{
"amount": "10.00",
"destination": {
"type": "VAULT_ACCOUNT",
"id": "4"
}
}
],
"useGasless": true
}
Frequently asked questions
What happens if one transfer in the batch fails?
The entire transaction reverts. If any single transfer cannot complete, none of the transfers execute, and no funds move. You can then correct the issue and resubmit.
Can I send different tokens to different recipients in one batch?
No. Every recipient in a single batch must receive the same asset. To send different tokens, submit a separate batch per asset.
Can I send native ETH in a batch?
Not in this phase. Batching supports ERC-20 tokens only right now. Native asset support is planned for a later phase.
Who pays the gas fees?
A relay vault sponsors the gas through EVM Gasless. Make sure your relay vault is funded with the native gas asset for the chain you are transacting on.
Does the recipient see the transaction as coming from my vault?
Yes. Your source vault address remains the on-chain sender, so exchange crediting and address attribution continue to function as expected.
How much gas do I save?
The base transaction fee is charged once for the entire batch rather than once per recipient, and the batch is signed and approved once. Savings increase with the number of recipients and are larger on Layer 2 networks, where calldata cost dominates.
Do I need a new approval workflow?
No. Batch transactions flow through your existing Policy. No new approval group is required.
Is there a Console UI for this?
Not in this phase. The feature is available through the API only. A Console experience is planned for a later phase.
How many recipients can I include in one batch?
A single batch can include up to 50 recipients. Batches with more than 50 recipients are rejected. If you need to pay more recipients, split them across multiple batches.
Can I see these transactions in the Console?
Yes. They appear in a transaction history labeled Multi-destination.