Supporting Metal L2 in Your Exchange
Check out this guide to get an overview of everything you need to know to properly support Metal L2 within your exchange.
Connecting to Metal L2
Metal L2 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 Metal L2. 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 Metal L2. If you need to run your own Metal L2 node, head over to the Node Operator guide.
Native Gas Token (ETH)
Metal L2 uses ETH as its native gas token. Transactions are paid for in ETH and account balances are denominated in ETH.
Transaction Fees
Metal L2 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 Metal L2.
Smart Contracts
Smart contracts on Metal L2 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 Metal L2 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 Metal L2 and Ethereum. For instance, you may need to use this functionality to balance the supply of ETH on Metal L2 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 Metal L2 and Ethereum.
Transaction Statuses
Metal L2 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 Metal L2 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 Metal L2.