Supporting OP Mainnet in Your Exchange
Check out this guide to get an overview of everything you need to know to properly support OP Mainnet within your exchange.
Connecting to OP Mainnet
OP Mainnet is designed to be EVM equivalent (opens in a new tab) and supports all of the same tooling as Ethereum. You can use your favorite Ethereum libraries and tools to work with OP Mainnet. Head over to the Networks and RPC Endpoints page for network connection details and check out the RPC Providers page for an updated list of RPC providers that support OP Mainnet. If you need to run your own OP Mainnet node, head over to the Node Operator Overview page.
Native Gas Token (ETH)
OP Mainnet uses ETH as its native gas token. Transactions are paid for in ETH and account balances are denominated in ETH.
Transaction Fees
OP Mainnet charges the standard gas fee for transactions, but also charges an additional L1 data fee for the cost of publishing transaction data to Ethereum. Check out the Transaction Fees page for more information about how transaction fees work on OP Mainnet.
Smart Contracts
Smart contracts on OP Mainnet function the same way they do on Ethereum. This includes ERC-20 token contracts. You can use your existing logic for managing withdrawals and deposits of ERC-20 tokens.
Token Addresses
The ERC-20 contract address for a token on OP Mainnet may differ from the address for the same token on Ethereum. Make sure to reference the Bridged Token Addresses to confirm that you are using the correct token addresses in your application.
Bridging ETH and ERC-20s
You may need to transfer ETH or ERC-20 tokens between OP Mainnet and Ethereum. For instance, you may need to use this functionality to balance the supply of ETH on OP Mainnet and Ethereum depending on the demand for withdrawals and deposits on the two networks. Refer to the Basics of Bridging and the Standard Bridge guides for more information about how to bridge ETH and ERC-20 tokens between OP Mainnet and Ethereum.
Transaction Statuses
OP Mainnet transactions have a number of different statuses during the transaction lifecycle. Refer to the Transaction Statuses page for more information about the different transaction statuses and how to handle them in your application.
Transaction statuses can be critical for the security of your application. For instance, you may only want to credit a deposit if the transaction is finalized. Make sure to understand the various transaction statuses to avoid security issues in your application.
Audits and Security Reviews
The OP Stack codebase upon which OP Mainnet is built has undergone a number of security reviews. Visit GitHub (opens in a new tab) for a full list of the most recent reports. Additionally, refer to the Security Model & FAQ page for more information about the security model of OP Mainnet.