One of the advantages of using smart contract wallets such as the Safe, is their ability to perform "batched transactions". This means that when we want to execute several transactions, instead of having to confirm a set of transactions one after each other, they can be bundled together into a single transaction so users just have to confirm and execute once.
The Safe can use a so called MultiSend library to enable this transaction batching (example of Ethereum Multisend - v1.1.1).
Transaction Builder is an application that makes easier to create these transaction batches, guiding the user in a visual way through the process of adding, editing, reviewing and submitting a batch. These batches can contain any kind of transaction that we could create, from token transfers to more complex smart contract operations, allowing even to group into one transaction actions that would usually need two steps like "Approve" and "Swap" that we usually see in DEXs (decentralized exchanges).
To show case a real example of batched transactions, let imagine the following scenario: You have a list of 10 addresses to which you would like to send a specific amount of GNO tokens to. Instead of having to create 10 transactions, which the owners of your Safe have to confirm and execute one after each other, this article explains how to use the Transaction builder Safe app to put all these transfers into a single transaction.
Please note: This is a rather technical feature as you will be crafting raw transactions. So please make sure you know what you are doing.
1.Open Safe apps
2. Open the Transaction builder Safe app.
3. Enter the GNO token address. The ABI will be fetched automatically because this smart contract is verified in Sourcify. If in your case is not fetched automatically you can copy and paste the ABI from other source in the "Enter ABI" field.
4. From the drop down you can select a method. In this case we select the
5. Now enter the recipient address and the GNO value. Please note: The value is an unsigned integer without any decimals. In this example, the GNO token has 18 decimals. So in case you want to send 1 GNO, you have to enter 1000000000000000000. Again, please only continue if you know what you are doing.
6. Click "Add transaction"
7. Repeat step 4, 5 and 6 for every recipient address.
8. Once you added all operations to the batch click "Create Batch"
9. You'll be able to review the whole batch. Once ready click "Send Batch" to submit and execute the transaction just like any other Safe transaction.