While Abstract is EVM compatible and you can use familiar development tools from the Ethereum ecosystem, the bytecode that Abstract’s VM (the ZKsync VM) understands is different than what Ethereum’s EVM understands.

These differences exist to both optimize the VM to perform efficiently with ZK proofs and to provide more powerful ways for developers to build consumer-facing applications.

When building smart contracts on Abstract, it’s helpful to understand what the differences are between Abstract and Ethereum, and how best to leverage these differences to create the best experience for your users.

Learn more about best practices for building and deploying smart contracts on Abstract.

Differences in EVM Instructions

See how Abstract’s VM differs from the EVM’s opcodes and precompiled contracts.

Other Differences

Learn the nuances of other differences between Abstract and Ethereum.