OP Mainnet is designed to be EVM equivalent (opens in a new tab), which means OP Mainnet looks exactly like Ethereum in every way possible. Almost all Ethereum tooling works out of the box on OP Mainnet, including the Solidity (opens in a new tab) smart contract language. However, there are a few minor differences between OP Mainnet and Ethereum that you should be aware of when building Solidity contracts.
Most smart contracts will work on OP Mainnet without any changes. Check out the Differences Between Ethereum and OP Mainnet page for a detailed list of the few differences you should know about.
OP Mainnet uses the same gas costs as Ethereum. However, OP Mainnet also charges an L1 Data Fee for the cost of publishing an L2 transaction to L1. This fee is charged based on the size of a transaction in bytes. As a result, smart contract optimization techniques can differ slightly on OP Mainnet. Refer to the Contract Optimization guide for more information.