Skip to main content
Check which Ethereum features you can use on BOT Chain and which EVM version to compile your contracts for.

Why it matters

Solidity compilers target a specific EVM version. If you compile for a newer version than the chain supports, your contract can deploy and then fail at runtime with an “invalid opcode” error. Picking the right target avoids that.

Compile for Cancun

Set your compiler’s EVM version to cancun. It works on both networks and with every Solidity version from 0.8.24.
prague also works on BOT Chain (tested 2026-10-01). Don’t use osaka. BOT Chain doesn’t support the Osaka upgrade yet: we ran the Osaka CLZ opcode on both networks on 2026-10-01 and it failed with “invalid opcode”. Recent Solidity releases may default to a newer EVM version, so set it explicitly.

Supported upgrades

Checked against both networks on 2026-10-01. Don’t use block.prevrandao (or the older block.difficulty) for randomness. On BOT Chain it returns the Parlia block difficulty, which was 2 in every block we checked on 2026-10-01. Use an oracle if your app needs random numbers.

Check it yourself

Ask the node for the latest block and look at the fields. baseFeePerGas shows EIP-1559, blobGasUsed and excessBlobGas show EIP-4844, and requestsHash shows Prague.

Blob API

Read blob data from the RPC.

Gas and fees

How EIP-1559 fees work on BOT Chain.

Foundry setup

Configure the compiler target.

Hardhat setup

Configure the compiler target.
Last modified on October 2, 2026