Ethereum's London fork occurred on August 5, 2021 and affected all activity on the Ethereum network.
Official changes to the network are cataloged as:
Together, these changes aim to increase network stability and functionality for all Ethereum users.
Fireblocks supports complete compatibility with the London fork.
Prior to August 2021, Ethereum fees were structured based on gas price (price of a single gas unit measured in gwei) and gas limit (number of gas units needed to process the transaction). The current network activity determines the gas price. The gas limit depends on the size of the transaction and how quickly the user wants it executed.
Transactions that follow this fee structure are now referred to as "legacy transactions."
You create a transaction with a gas limit of 35 units. If the current gas price is 2 gwei, the fee equals 70 gwei.
With the London fork, the Ethereum network adopted a new fee format, known as EIP-1559, that affects fee calculation and payment to miners. The new fee structure is based on:
- Base fee: This fee is calculated automatically by the blockchain protocol and is burned from the Ethereum pool once the transaction is complete.
- Priority fee: Also known as a tip, this fee is chosen by the user and is meant to reward miners and prioritize the transaction.
- Max total fee: This is the maximum amount that a user is willing to pay for the transaction.
Note that all values are in gas price per unit, in GWei.
EIP-1559 defines options for a user to set a max fee and a maximum priority fee. These parameters are set in relation to the block base fee, which fluctuates with each block. The base fee is calculated based on the size of the previous block and can change significantly depending on network activity. Further, the update to the protocol allows for blocks to vary in size, which lowers the impact of the priority fee and results in more predictable and potentially lower fees.
In order for a transaction to be included on the block, the max fee for the transaction cannot be lower than the base fee. The transaction will not be incorporated into a block until the base fee falls below the max fee.
You create a new transaction with a max fee of 100 and a maximum priority fee of 20. If the block base fee is currently 50, the priority fee remains at the maximum 20 and the total gas price will be 70.
Alternatively, if the block base fee is currently 90, the priority fee will be set to 10. This is the difference between the max fee (100) and the base fee (90).
Changes in Fireblocks
The transaction total fee can be set using the Fireblocks console. Like with previous transactions on Ethereum, there are three speeds and a custom input available to you. Fireblocks calculates the total fee for each speed. The total fee paid for the transaction is the network-defined base fee combined with the priority fee, which is based on the speed you select.
There are several API endpoints affected by the London fork:
Two fields were added to this endpoint:
priorityFee. For backward compatibility, the existing
gasPrice will return the current
priorityFee per each speed.
This endpoint behaves the same:
gasPrice will return the current
priorityFee per each level of the simulated transaction.
This endpoint includes two new body parameters:
maxPriorityFee. For backward compatibility, the existing
gasPrice body parameter is sent as both the
maxPriorityFee to the blockchain, which now pays the exact requested
gasPrice as it would previously.