Flashbots
Public Minting
During a high profile NFT drop, say you are attempting to mint an NFT through the website of a new and upcoming project. The process would be as follows: 1. You call the minting function of a smart contract which creates a transaction that is placed into the public transaction mempool while pending. 2. Assuming EIP-1559, your pending transaction is prioritized based on your provided max priority fee and max fee. From this point, your transaction can go one of two ways. 3. Your max fee is high enough to accommodate for a surge in network traffic. a. This protects you from the rapid increase of the base max fee, keeping your transaction valuable, and your max priority fee has incentivized miners enough to include your transaction in the next available block. 4. Your max fee fails to stay above the baseline of the networks max fee. a. Your transaction has lost value to miners and runs the risk of either becoming stuck, failing, or being dropped altogether. In the event of a successful transaction, you exchange your hard-earned Ether for an NFT (ERC-721/ERC-1155) and are refunded the difference between your mentioned max fee minus the networks calculated base max fee + max priority fee. This concept can be explained in greater detail in article found here. Understanding this system helps us to identify potential issues within the general Ethereum transaction process and understand ways in which it can be leveraged for one’s personal gain.
The FlashBot
The bot will try to resubmit your transaction for 25 blocks after which point it is considered “expired” and will be dropped. Transactions under 42,000 gas, such as simple ether transfers, are rejected by the Flashbots relay. As a result, we will forward these to the public mempool instead. Transactions that perform simple actions - such as token approvals or transfers - will be sent to the public mempool as these do not need frontrunning protection. There is a risk that your transactions are included in uncled blocks and then emitted to the public mempool. Please read the uncle bandits article to learn more about uncle bandits and how to mitigate this risk. Your transactions can be emitted to the public mempool if you switch RPC endpoints from Flashbots Protect RPC to another RPC while your transactions are pending. In a nutshell it makes it so that you lose very little to no gas when going for a public mint and having a failed transaction after not being successful & it's super easy to setup.
Last updated