transfer
function as follows:
Creating multiple transactions simultaneously can lead to failures.All transfers, excluding gasless transfers, do not support concurrent transactions. We recommend running sequential calls and waiting for the previous transaction to confirm before continuing.See Processing multiple transfers for same address as an example. If you need more assistance, reach out to us on Discord in #wallet-api.
Transfers of arbitrary ERC20 assets
You can transfer ERC20 assets that are not assets supported by symbol by using the contract address as the asset ID.Gasless Transfers
Coinbase will pay for the gas for transfers of USDC, EURC and cbBTC on Base Mainnet and Base Sepolia! To initiate a USDC transfer on Base Mainnet with gas fees covered, set thegasless
flag to true.
Batching
By default, gasless transfers are batched together, which optimizes for high transaction throughput. While batched transfers typically take longer than non-batched ones to process, this approach allows your application to handle many concurrent transactions efficiently. You can significantly reduce processing time by disabling batching withskipBatching: true
. However, this comes with an important tradeoff:
- Disabling batching significantly reduces your application’s ability to handle concurrent transactions.
Processing multiple transfers for same address
When creating multiple transfers for the same source address, it is important to create them sequentially instead of all at once. Wait for the previous transfer to have a final state (COMPLETE
/ FAILED
) before creating a new one. Creating multiple transactions simultaneously can lead to failures due to how nonces are managed by the CDP APIs.
An example of how to process transactions sequentially: