Overview
New to EVM Gasless? See Universal Gasless in the Help Center for a product introduction, then use this guide for the setup and API behavior. EVM Gasless, also known as Universal Gasless, lets a vault account on an EVM chain send tokens and call contracts without holding the native asset. The vault account signs a meta-transaction, and a relay vault account submits it on-chain and pays the gas. It supports any ERC-20, ERC-721, or ERC-1155 token on the Universal Gasless integrated chains. It does not relay native asset transfers such as ETH. For how gasless compares across chains, see the Gasless Transactions Overview.How it works
EVM Gasless uses EIP-7702 to upgrade a vault account’s address into a smart contract wallet that accepts relayed calls. The upgrade happens once per vault account per chain, during that account’s first gasless transaction. That first transaction carries one additional action (the delegation), and later transactions from the same account are single meta-transactions. The upgrade does not change the vault account’s address, keys, or balances. After the upgrade, the Console shows an indicator next to the vault account.Choose a relay
The relay is the vault account that pays gas for your gasless transactions.Use a Wallet Pool as the relay
A single relay vault account has one nonce stream, so it becomes a bottleneck as gasless volume grows. With This workspace as the relay, you can select a Wallet Pool instead of a single vault account, and Fireblocks spreads relaying across the pool’s members. A relay pool needs more native-asset headroom per member than a transfer pool, because the first transaction from each vault account also pays for the EIP-7702 upgrade. See Wallet Pools use cases.Relay for other workspaces
To pay gas for other workspaces, go to Settings > Become a gasless relayer. A relay workspace must use an API Co-signer to sign relay transactions. See Configuring your workspace as a relay provider.Step 1. Configure EVM Gasless in the Console
Go to Settings > Initiate gasless transactions, turn on EVM, select Universal gasless and the relay, then select the default mode. See Configuring Universal Gasless transactions for the full steps.Step 2. Add Policy rules
EVM Gasless adds transactions that your Policy must allow:
For the Contract call rule:
- Initiator. Select Gasless-Orchestrator explicitly. This rule is required even if you already have a Contract call rule whose initiator is any, because a rule that generalizes the initiator does not cover Gasless-Orchestrator.
- Designated signer. Gasless-Orchestrator cannot sign, so the designated signer cannot be the initiator. Set Designated signer to Single user or Multiple users, not Initiator.
Step 3. Send a transaction
Submit a standard transfer with Create a new transaction. When the mode is On by default, you need no extra fields.POST /v1/transactions
useGasless: settrueto request gasless when the mode is Off by default, orfalseto pay the fee directly when it is On by default. Omit it to follow the workspace default. It has no effect when the mode is None.source: the vault account needs the token balance only. It does not need the native asset.assetId: a token on a supported chain. Native asset transfers are not relayed.
Step 4. Confirm the relay paid
Get a transaction or read the transaction webhook. A gasless transaction carriesgaslessInfo, and feeInfo reports who paid.
For relayed transactions, the deprecated top-level
fee field is omitted. Read feeInfo instead.
Troubleshooting
See API error codes for the full list.
Related
- Gasless Transactions Overview: compare gasless mechanisms across chains.
- Wallet Pools: spread relaying across several vault accounts.
- Sweep to omnibus: use EVM Gasless to sweep tokens from deposit vault accounts.
- Work with Gas Station: fund vault accounts for native asset transfers.