Overview
Learn the differences between Abstract and Ethereum.
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.
Recommended Best Practices
Learn more about best practices for building and deploying smart contracts on Abstract.
Best practices
Recommended changes to make to your smart contracts when deploying on Abstract.
Contract deployment
See how contract deployment differs on Abstract compared to Ethereum.
Differences in EVM Instructions
See how Abstract’s VM differs from the EVM’s opcodes and precompiled contracts.
EVM opcodes
See what opcodes are supported natively or supplemented with system contracts.
EVM precompiles
See what precompiled smart contracts are supported by Abstract.
Other Differences
Learn the nuances of other differences between Abstract and Ethereum.
Was this page helpful?