Project type: L2

Getting started developing for OP Mainnet | Optimism Docs🎉 We are deprecating the Optimism SDK and migrating all tutorials to use viem/op-stack. Read more →Superchain faucetSuperchain faucet (opens in a new tab) trackerGas tracker (opens in a new tab)]( (opens in a new tab)](`CTRL K`[GitHubGitHub (opens in a new tab)](`CTRL K`* BUILDERS
+ Preparing for Optimism SDK deprecation
+ Superchain app quick start
- Deploying your first contract on OP Mainnet
- Communicating between chains in Solidity
- Bridging ETH with Viem
- Bridging ERC-20 tokens with the Optimism SDK
- Bridging your custom ERC-20 token to OP Mainnet
- Bridging your standard ERC-20 token to OP Mainnet
- Viewing deposits and withdrawals by address
- Tracing deposits and withdrawals
- Estimating transaction costs
- Triggering OP Mainnet transactions from Ethereum
- Setting gas parameters
- Basics of bridging
- The Standard Bridge
- Custom token bridges
- Sending data between L1 and L2
- Open source code repo
- Supersim Multichain Development Environment
- Superchain Dev Console (opens in a new tab) 
+ Start a self-hosted chain
- Rollup deployment configuration
- Using Snap Sync
- Run an Alt-DA Mode chain
- Run a custom gas token chain
- Use and enable span batches on your chain
- Bridged USDC Standard for the OP Stack
- Creating your own rollup testnet
- Using the Optimism SDK
- Adding attributes to the derivation function
- Adding a precompile
- Modifying predeployed contracts
- Integrating a new DA layer
+ OP Stack hacks
- Intro to OP Stack hacks
- Data availability hacks
+ Run a node in the Superchain
- Running a node with Docker
- Building a node from source
- Running OP Mainnet from source
- Running OP Sepolia from source
- Consensus layer configuration
- Execution layer configuration
- Using Snap Sync
* Wallets & CEXs
+ Guide for exchanges
+ Guide for wallets
- Networks and RPC endpoints
- OP Mainnet explorer (opens in a new tab) 
- Superchain bridges (opens in a new tab) 
- Optimism SDK (opens in a new tab) 
- Superchain faucet (opens in a new tab) 
- Superchain dev console (opens in a new tab) 
- Gas tracker (opens in a new tab) 
* Getting started: OP Mainnet
* Networks and RPC Endpoints
* Bridged token addresses
+ Running a local development environment
+ Testing apps on OP Mainnet
+ Security model & FAQ
+ Bug Bounty Program (opens in a new tab) 
* Getting started: OP Stack
* Differences between Ethereum and OP Stack chains
* Design philosophy & principles
* OP Stack components
+ Fault proofs explainer
+ FP system components
+ FP Mainnet security
+ Cross domain transaction
+ Pause and unpause the Bridge
* OP Contracts Manager
+ Anatomy of cross-chain message
+ Supersim Multichain Development Environment
+ Interop message passing
+ SuperchainWETH (Interoperable ETH)
+ How to transfer a SuperchainERC20
+ Custom gas token
+ Block time research
+ Contribute to Optimism docs
+ Contribute to OP Stack
+ Docs style guide
+ Changelog (opens in a new tab) 
* Get Launch Support (opens in a new tab) 
* Optimism Governance (opens in a new tab) 
* OP Mainnet and OP Sepolia endpoint URLs
* Interacting with contracts on OP Mainnet or OP Sepolia
* Use provided EVM
* Debug before deploying
* Contract source verification
[❤️ Share general feedback (opens in a new tab)](✏️ Edit this page on GitHub](
Is this page useful?
Scroll to topOP MainnetGetting started: OP Mainnet# Getting started developing for OP Mainnet
This guide explains the basics of OP Mainnet development.
OP Mainnet is EVM equivalent (opens in a new tab) meaning we run a slightly modified version of the same `geth` you run on mainnet.
Therefore, the differences between OP Mainnet development and Ethereum development are minor.
But a few differences do exist.
## OP Mainnet and OP Sepolia endpoint URLs
To access any Ethereum type network you need an endpoint. These providers support our networks.
For development purposes we recommend you use either a local development node or OP Sepolia (opens in a new tab) 
That way you don't need to spend real money.
If you need ETH on OP Sepolia for testing purposes, you can use this faucet (opens in a new tab) 
## Interacting with contracts on OP Mainnet or OP Sepolia
We have Hardhat's Greeter contract on OP Sepolia at address 0x9d334aFBa83865E67a9219830ADA57aaA9406681 (opens in a new tab).
You can verify your development stack configuration by interacting with it.
As you can see in the different development stacks below, the way you deploy contracts and interact with them on OP Mainnet or OP Sepolia is almost identical to the way you do it with L1 Ethereum.
The most visible difference is that you have to specify a different endpoint (of course).
The list of other differences is here.
* Apeworx (opens in a new tab) 
* Brownie (opens in a new tab) 
* Foundry (opens in a new tab) 
* Hardhat (opens in a new tab) 
* Remix (opens in a new tab) 
* Truffle (opens in a new tab) 
* Waffle (opens in a new tab) 
### Use provided EVM
It is best to start development with the EVM provided by the development stack.
Not only is it faster, but such EVMs often have extra features, such as the ability to log messages from Solidity (opens in a new tab) or a graphical user interface (opens in a new tab) 
### Debug before deploying
After you are done with that development, debug your decentralized application using either a development node or the Sepolia test network.
This lets you debug parts that are OP Mainnet specific such as calls to bridges to transfer ETH or tokens between layers.
Only when you have a version that works well on a test network should you deploy to the production network, where every transaction has a cost.
### Contract source verification
You don't have to upload your source code to block explorers, but it is a good idea.
On the test network, it lets you issue queries and transactions from the explorer's user interface.
On the production network, it lets users know exactly what your contract does, which is conducive to trust.
Just remember, if you use the Etherscan API (opens in a new tab) you need one API key for OP Mainnet and a separate one for OP Sepolia.
Last updated on October 18, 2024Fee calculatorNetworks and RPC EndpointsSystem