EVM Version Information

You are asked to provide the EVM version the contract uses during the verification process. If the bytecode does not match the version, we try to verify using the latest EVM version (currently London).
For more information, see the Solidity docs on specifying the EVM version when compiling a contract. Note that backward compatibility is not guaranteed between each version.
Mainnet Block #
Relevant changes / opcode specs
EIP details
14 Mar 2016
Oldest version
Tangerine Whistle
18 Oct 2016
Gas cost to access other accounts increased, impacts gas estimation and optimization. All gas sent by default for external calls, previously a certain amount had to be retained.
Spurious Dragon
22 Nov 2016
Gas cost for the exp opcode increased, impacts gas estimation and optimization.
16 Oct 2017
Opcodes returndatacopy, returndatasize and staticcall available in assembly. staticcall opcode used when calling non-library view or pure functions, which prevents the functions from modifying state at the EVM level, this even applies to invalid type conversions. Ability to access dynamic data returned from function calls. revert opcode introduced, revert() will not waste gas.
Constantinople / Petersburg
28 Feb 2019
Opcodes create2, extcodehash, shl, shr and sar are available in assembly. Bitwise shifting operators use shifting opcodes (shl,shr,sar), requiring less gas.
08 Dec 2019
Opcodes chainid and selfbalance are available in assembly.
14 Apr 2021
Gas costs for SLOAD, *CALL, BALANCE, EXT* and SELFDESTRUCT increased. The compiler assumes cold gas costs for such operations. This is relevant for gas estimation and the optimizer.
05 Aug 2021
The block’s base fee (EIP-3198 and EIP-1559) can be accessed via the global block.basefee or basefee() in inline assembly.
Arrow Glacier*
09 Aug 2021
Delays the difficulty bomb until June 2022.
Gray Glacier*
30 June 2022
Delays the difficulty bomb by an additional 3 months to September 2022.
*Does not impact version for contract verification.