The Ethereum Virtual Machine or EVM is a piece of software that executes smart contracts and computes the state of the Ethereum network after each new block is added to the chain.
The EVM sits on top of Ethereum's hardware and node network layer. Its main purpose is to compute the network's state and to run and compile various types of smart contract code into a readable format called 'Bytecode.'
This makes it possible for smart contracts deployed on EVM-compatible chains like Polygon or Avalanche to be recognized by Ethereum nodes, and allows developers to port their dapps or tokens over from Ethereum to other EVM-compatible chains with relative ease.