Combo Protocol addresses


Combo Protocol addresses

Cross Chain Communication

Name
Description
Address
batchInboxThis contract receives batches of transactions from the Sequencer on L1.0xff00000000000000000000000000000000009980
batchSenderThis contract is the authorized sender of batches to the batchInbox. It can be changed by the SystemConfig contract, which governs the parameters of the opBNB network0x6df30535bbe94A533d9F1600E69A642AbB3E063F
outputProposerThis contract proposes outputs for the opBNB nodes to execute. It receives inputs from the batchInbox and other sources, and generates outputs that are consistent with the opBNB protocol rules0x2E18990C92168f994064adAAEEF7C1970f9db824
Contract NameProxy Type
Description
Important Variables
L1CrossDomainMessengerResolvedDelegateProxyHigh-level interface for sending messages to and receiving messages from OptimismPORTAL;Address of the OptimismPortal.Change via upgrade
L1StandardBridgeL1ChugSplashProxyThe standard bridges are responsible for allowing cross domain ETH and ERC20 token transfers.1. MESSENGERMessenger contract on this domain.Change via upgrade
2.OTHER_BRIDGECorresponding bridge on the other domain.Change via upgrade.
L1ERC721Bridgeopen in new windowProxyThe L1 ERC721 bridge is a contract which works together with the L2 ERC721 bridge to make it possible to transfer ERC721 tokens from Ethereum to Optimism.1. MESSENGERMessenger contract on this domain.Change via upgrade
2. OTHER_BRIDGECorresponding bridge on the other domain.Change via upgrade.
L2OutputOracleProxyStores commitments to the state of Optimism which can be used by contracts on L1 to access L2 state1. SUBMISSION_INTERVAL The interval in L2 blocks at which checkpoints must be submittedChange via upgrade.
2. L2_BLOCK_TIMEThe time between L2 blocks in seconds.Change via upgrade.
3. CHALLENGERThe address of the challengerChange via upgrade.
4. PROPOSERThe address of the proposerChange via upgrade.
5. FINALIZATION_PERIOD_SECONDSMinimum time (in seconds) that must elapse before a withdrawal can be finalized.Change via upgrade.
AddressManager-AddressManager is a legacy contract that was used in the old version of the Optimism system to manage a registry of string names to addresses. We now use a more standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)
OptimismMintableERC20FactoryProxyOptimismMintableERC20Factory is a factory contract that generates OptimismMintableERC20contracts on the network it's deployed to. Simplifies the deployment process for userswho may be less familiar with deploying smart contracts.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.
OptimismPortalProxyThe OptimismPortal is a low-level contract responsible for passing messages between L1and L2.1.L2_ORACLEAddress of the L2OutputOracle contract.Change via upgrade.
2.SYSTEM_CONFIGAddress of the SystemConfig contract.Change via upgrade.
3.GUARDIANAddress that has the ability to pause and unpause withdrawals.
PortalSenderopen in new window-The PortalSender is a simple intermediate contract that will transfer the balance of the L1StandardBridge to the OptimismPortal during the Bedrock migration.1.PORTALAddress of the OptimismPortal contract.Change via upgrade.
ProxyAdmin-Contract that can upgrade L1 contracts. It has backwards compatibility logic to workwith the various types of proxies that have been deployed by Optimism in the past.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)
SystemConfigopen in new windowProxyThe SystemConfig contract is used to manage configuration of an Optimism network. All configuration is stored on L1 and picked up by L2 as part of the derviation of the L2chain.1._owneropenzepplin standard OwnableUpgradeable contact.Change via function(transferOwnership(address newOwner)
2.overheadFixed L2 gas overhead. Used as part of the L2 fee calculation.Change via function
3.scalarDynamic L2 gas overhead. Used as part of the L2 fee calculation.Change via function
4.batcherHashIdentifier for the batcher.Change via function
5.gasLimitL2 block gas limit.
6.*UNSAFE_BLOCK_SIGNER_SLOT*Storage slot that the unsafe block signer is stored at.Can't change via function, but the unsafe_block_singer can be updated via function(setUnsafeBlockSigner)
SystemDictatoropen in new windowProxyThe SystemDictator is responsible for coordinating the deployment of a full Bedrocksystem. The SystemDictator is designed to support both fresh network deployments andupgrades to existing pre-Bedrock systems.1._owneropenzepplin standard OwnableUpgradeable contact.Change via function(transferOwnership(address newOwner)

L1 Contract Addresses

Name
Description
Mainnet AddressTestnet Address
L1CrossDomainMessengerresponsible for facilitating cross-domain communication on Layer 1 (L1)0x160856C9D1e847CE5c61d9BD85413ed9076cd82dopen in new window0xeAfF0C8F991A0C55aC391d67Fbe8fe6Ce8588908open in new window
L1ERC721BridgeThis contract is likely an ERC-721 bridge that enables the transfer of non-fungible tokens (NFTs) between L1 and L20x913EEd29773685AC0A82b3Db991ea19762BA887aopen in new window0x5F77588b3270ecFd3E65C26b79f739b681768484open in new window
L1ERC721BridgeProxyA proxy contract that may provide additional functionalities for the L1ERC721Bridge contract.0x8bCCb7aC53209858AEdff9B42e32987644eF5483open in new window0xba597cd2806A3f0426D521d1727dA8c718ee8a44open in new window
L1StandardBridgeA standard bridge contract that enables the transfer of fungible tokens between L1 and L2.0xF707C93C646A3E7e74903EF7A4D44Fd32638E9A7open in new window0x06c627755C0f9856829CdCb2D46c858aE7E4D140open in new window
L2OutputOracleThis contract is an oracle on Layer 2 that provides output data to be used in smart contracts and applications0x86d51c7B91d20Dc6Cf034050c6b8767560C0900Copen in new window0xde091A65ca3D6Fd30C62088FD31078A0306fb586open in new window
L2OutputOracleProxyA proxy contract related to the L2OutputOracle, providing an interface or additional functionality.0xaFe8f839886fd8630bF1E1aF426B2FBbDa2a5757open in new window0x9DD772cC8ccBE71c769C98A8F1De1898BcF9E83bopen in new window
Lib_AddressManagerThis contract is a library used to manage addresses for various contracts in the system.0x1379Ad9D7e30f607a092F1Db77856cB9a277BD2copen in new window0xd87e97aB06fC55bf1efD5EeBeA9b17932f12EAeaopen in new window
OptimismMintableERC20FactoryThis is a factory contract for creating mintable ERC-20 tokens on the Layer 2 network.0xC7780Dc42Be70f2dF69f07CCa7CC32a931A3dd85open in new window0x8244d4Ddc313026663B847285eb12D0168b59C3dopen in new window
OptimismMintableERC20FactoryProxyA proxy contract related to the OptimismMintableERC20Factory, providing an interface or additional functionality.0x896642E9cCCFCC83D12a2d0b6d12b59d72d2bE00open in new window0xEe70EcB8BcA25a69c34E6139139e021E2Ee8A9eaopen in new window
OptimismPortalThis contract serves as a portal or gateway for interacting with the Optimism Layer 2 network.0x75Cc011950856e69D55B991dc398e237728D1734open in new window0x05CaDAd5934B8a867B755Aa36fC1411D2601a47aopen in new window
OptimismPortalProxyA proxy contract related to the OptimismPortal, providing an interface or additional functionality.0x419dF125e0A712Db4B10209aC3055b58b840f1f4open in new window0x279986e2E26CEd9bf7bcF49282398e74142c3760open in new window
PortalSenderThis contract is involved in sending data or messages to a portal or gateway on the L1.0x5542eF046C27AE7F656EEf5259Ee5f7Bf4574C96open in new window0x44051D50c7aCaf9ef4D693F2a5ec3889EE3D96Fcopen in new window
ProxyAdminThis contract is responsible for managing proxy contracts, allowing for upgrades and access control.0xc9171355AFE7d53d596cDBA4195Dbb4e2C1845eEopen in new window0x53d613e993Ff29A9bC8383204Ca5348F60143a60open in new window
Proxy__OVM_L1CrossDomainMessengerThis contract is a proxy for the L1CrossDomainMessenger contract on the Layer 2, enabling interaction with the Layer 2 contract from Layer 1.0xE655A2f23E7D01400Dd1BCAd49a118dcc89D1e9Dopen in new window0x0cf9129cc088296A0401B6003cD7D3380d10dAaEopen in new window
Proxy__OVM_L1StandardBridgeThis is a proxy for the L1StandardBridge contract on the Layer 2 network, allowing interaction with the Layer 2 bridge from Layer 1.0xAF0721ecf5B087eF67731188925C83DBC02f46Fbopen in new window0x261436b25a95449350C1EB11882f46F4140Dbf74open in new window
SystemConfigThis contract is responsible for managing system configurations, settings, or parameters in the protocol.0x9f8845f126f24Ddf6113bAcb47612cbE1e66bF7bopen in new window0x553b6de561A1Aaad22e995e863dB76FCb6e8f702open in new window
SystemConfigProxyA proxy contract related to the SystemConfig contract, providing an interface or additional functionality.0x19D9791F6f5df45FB4cED2ea0904e48A6f9e545copen in new window0xf3Aa3804332c2673C3ce33bD26E51076B02e5ca2open in new window
SystemDictatorThis contract has a role in managing or governing certain aspects of the system or protocol.0xc87177790198B0a69fa7f19f20da19B7f48cc42Fopen in new window0x627DcF6dB67AD48cfabBDf87431454aA8c2D5D30open in new window
SystemDictatorProxyA proxy contract related to the SystemDictator contract, providing an interface or additional functionality.0x09E7cBE49bF121FC300Da9ac0fdB5f9dFd2F7304open in new window0x27fBbaA2fA8a65a39BF62aFd2bFa8d72D165Df49open in new window

L2 Contract Addresses

Contract NameAddress
Description
Important Variables
IntroducedDeprecatedProxied
LegacyMessagePasseropen in new window0x4200000000000000000000000000000000000000The contract stores commitments to withdrawal transactions before the Bedrock upgrade.LegacyYesYes
L2ToL1MessagePasseropen in new window0x4200000000000000000000000000000000000016The L2ToL1MessagePasser stores commitments to withdrawal transactions.BedrockNoYes
DeployerWhitelistopen in new window0x4200000000000000000000000000000000000002DeployerWhitelist is a legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network.LegacyYesYes
LegacyERC20ETHopen in new window0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000LegacyERC20ETH is a legacy contract that held ETH balances before the Bedrock upgrade. All ETH balances held within this contract were migrated to the state trie as part ofthe Bedrock upgrade.LegacyYesNO
WBNBopen in new window0x4200000000000000000000000000000000000006WETH9 is the standard implementation of Wrapped Ether on Optimism.string public name = "Wrapped Ether";
string public symbol = "WETH";
uint8 public decimals = 18;
LegacyNoNo
L2CrossDomainMessengeropen in new window0x4200000000000000000000000000000000000007The L2CrossDomainMessenger is a high-level interface for message passing between L1 and L2 on the L2 side.LegacyNoYes
L2StandardBridgeopen in new window0x4200000000000000000000000000000000000010The L2StandardBridge is a higher level API built on top of the L2CrossDomainMessenger that gives a standard interface for sending ETH or ERC20 tokens across domains.LegacyNoYes
L2ERC721Bridgeopen in new window0x4200000000000000000000000000000000000014The L2 ERC721 bridge is a contract which works together with the L1 ERC721 bridge to make it possible to transfer ERC721 tokens from Ethereum to Optimism.LegacyNoYes
L1BlockNumberopen in new window0x4200000000000000000000000000000000000013The L1BlockNumber returns the last known L1 block number. This contract was introduced in the legacy system and should be backwards compatible by calling out to the L1Block contract under the hood.LegacyYesYes
GasPriceOracleopen in new window0x420000000000000000000000000000000000000FAfter Bedrock, this contract now simply proxies the L1Block contractwhich has the values used to compute the L1 portion of the fee in its state.LegacyNoYes
L1Blockopen in new window0x4200000000000000000000000000000000000015The L1Blockopen in new window was introduced in Bedrock and is responsible for maintaining L1 context in L2. This allows for L1 state to be accessed in L2.BedrockNoYes
ProxyAdminopen in new window0x4200000000000000000000000000000000000018The ProxyAdmin is the owner of all of the proxy contracts set at the predeploys. It is itself behind a proxy. The owner of the ProxyAdmin will have the ability to upgrade any of the other predeploy contracts.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)BedrockNoYes
SequencerFeeVaultopen in new window0x4200000000000000000000000000000000000011The SequencerFeeVault is the contract that holds any fees paid to the Sequencer during transaction processing and block production.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
LegacyNoYes
OptimismMintableERC20Factoryopen in new window0x4200000000000000000000000000000000000012The OptimismMintableERC20Factory is responsible for creating ERC20 contracts on L2 that can be used for depositing native L1 tokens into.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.LegacyNoYes
OptimismMintableERC721Factoryopen in new window0x4200000000000000000000000000000000000017The OptimismMintableERC721Factory is responsible for creating ERC721 contracts on L2 that can be used for depositing native L1 NFTs into.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.
2.REMOTE_CHAIN_IDChain ID for the remote network.Change via upgrade.
BedrockNoYes
BaseFeeVaultopen in new window0x4200000000000000000000000000000000000019The BaseFeeVault predeploy receives the basefees on L2. The basefee is not burnt on L2 like it is on L1. Once the contract has received a certain amount of fees, the ETH can be withdrawn to an immutable address on L1.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
BedrockNoYes
L1FeeVaultopen in new window0x420000000000000000000000000000000000001aThe L1FeeVault predeploy receives the L1 portion of the transaction fees. Once the contract has received a certain amount of fees, the ETH can be withdrawn to an immutable address on L1.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
BedrockNoYes
GovernanceTokenopen in new window0x4200000000000000000000000000000000000042LegacyNoNo