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.
Network fees
Pre-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."
Example
You create a transaction with a gas limit of 35 units. If the current gas price is 2 gwei, the fee equals 70 gwei.
Post-London fork
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.
Example
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).
Learn more about post-London fork Ethereum gas fees.
Changes in Fireblocks
Fireblocks Console
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.
Fireblocks API
There are several API endpoints affected by the London fork:
GET /v1/estimate_network_fee
Two fields were added to this endpoint: baseFee
and priorityFee
. For backward compatibility, the existing gasPrice
will return the current baseFee
+ priorityFee
per each speed.
POST /v1/transactions/estimate_fee
This endpoint behaves the same: gasPrice
will return the current baseFee
+ priorityFee
per each level of the simulated transaction.
POST /v1/transactions
This endpoint includes two new body parameters: maxTotalGasPrice
and maxPriorityFee
. For backward compatibility, the existing gasPrice
body parameter is sent as both the maxTotalGasPrice
and maxPriorityFee
to the blockchain, which now pays the exact requested gasPrice
as it would previously.