Skip to main content

Protocol Contracts

This document aggregates Gate Layer system contracts across GateChain (L1) and Gate Layer (L2). For clarity, items are separated into Mainnet, Testnet.


Mainnet · Core L1 Contracts

Contracts currently deployed on GateChain mainnet for the Gate Layer system:

Contract NameAddressDescription
AddressManager0x5446e2bea992f5fa70d717fadb998073702dc1a6Address resolution/registry (legacy-compatible shape).
ProxyAdmin0x977ce593493a3d1bca355187b573aeb37fa099a3Proxy upgrade admin.
L1StandardBridge0x1b30f00bbfea2d2daaabbaf28059477cea9e0e36Handles ETH/ERC20 deposits/withdrawals between L1 and L2.
L1CrossDomainMessenger0x030b1fa1112a52dcc3b131d393d40234d36ec741Cross-domain messenger L1 side.
OptimismPortal0x48a4c3f12e489452e5b45facc04df901d7adc8cfL2 data submission entry + withdrawal proofs.
DisputeGameFactory0x089a3b9d9caa629d1b3ce382f3b212b9ebb78730Fault-proof/challenge factory.
SystemConfig0xd929985b14c809ce4d7b20dfc008e0f3c0c80b66L2 fee parameters and config.
L1ERC721Bridge0x9176cb94f3663f28454b133a66c9305e01be3b85ERC721 bridge L1 side.
OptimismMintableERC20Factory0x92bebadd993314a24d612fcd72eecf0e4fe5be0dL2 mintable token factory counterpart.
AnchorStateRegistry0x0826e88946941b9b2153b73250706e10c7af7b7eAnchor state registry.

Note: Implementation addresses change over time with upgrades. Please refer to the block explorer (Proxy → Implementation) for the latest values.

Mainnet · L2 Predeploy Contracts

Currently identical to testnet; if customized later, this section will be updated.

Contract NameAddressDescription
L2CrossDomainMessenger0x4200000000000000000000000000000000000007L2-side cross-domain messenger paired with L1 XDM.
L2StandardBridge0x4200000000000000000000000000000000000010L2 side of the standard asset bridge (ETH/ERC20).
L2ToL1MessagePasser0x4200000000000000000000000000000000000016Low-level channel/record for L2→L1 withdrawals/messages.
L1Block0x4200000000000000000000000000000000000015Provides L1 block info and base fee readings (read-only).
GasPriceOracle0x420000000000000000000000000000000000000FL2 fee oracle interface (baseFee, overhead/scalar, etc.).
L2ERC721Bridge0x4200000000000000000000000000000000000014L2 ERC721 bridge.
OptimismMintableERC20Factory (L2)0x4200000000000000000000000000000000000012Creates mintable mirror tokens for deposited assets on L2.
SequencerFeeVault0x4200000000000000000000000000000000000011Sequencer fee vault.
BaseFeeVault0x4200000000000000000000000000000000000019Base fee vault.
L1FeeVault0x420000000000000000000000000000000000001AL1 fee vault.
OperatorFeeVault0x420000000000000000000000000000000000001BOperator fee vault.
ProxyAdmin0x4200000000000000000000000000000000000018Proxy admin (upgrade management).

Testnet · Core L1 Contracts

These are the primary contracts currently deployed on the testnet.

Contract NameAddressDescription
L1StandardBridge0x75ded3be4d69e8403c9079ae5cf5e059a23f6a67Handles deposits and withdrawals of ETH and standard ERC20 tokens between L1 and L2.
L1CrossDomainMessenger0x60cad8d7d622be3d62786b2e7a6617765d0f4d94Passes arbitrary messages between L1 and L2, forming the basis for cross-domain communication.
OptimismPortal0x0d69cdd07cf93075fe53769945575274fc563ba9The entry point for L2 transaction data submission to L1 and handles withdrawal proofs. A core part of the system.
DisputeGameFactory0x6f419bb5d754033e39f758d20133d7fea8e2bb55The core of the fault-proof system, used to create and manage challenges against L2 output roots.
SystemConfig0xaeb4b93732c30c5d74ab3220cd73aa0fcdd275f8Stores L2 gas-related parameters, such as overhead and scalar.
L1ERC721Bridge0xa19cbb87428a6b943912f2f44241ca1cb3a8cec1Handles the bridging of ERC721 NFT tokens between L1 and L2.
OptimismMintableERC20Factory0xca1bbd1187ccbf2297c828c48f5c0896d9985636Creates "mintable" versions of ERC20 tokens on L2 that correspond to deposited L1 tokens.
ProxyAdmin0x1be6f451a7578cb48ddbd8fea8d2fd25462e5d16Manages the upgrade permissions for the core contracts listed above.
AddressManager0x6cbd08ae08136ab974ae121a0895d3836c8a00ce(Legacy) A registry used to resolve and manage system contract addresses.

Note: Implementation addresses change over time with upgrades. Please refer to the block explorer (Proxy → Implementation) for the latest values.

Testnet · L2 Predeploy Contracts

Contract NameAddressDescription
L2CrossDomainMessenger0x4200000000000000000000000000000000000007L2-side cross-domain messenger paired with L1 XDM.
L2StandardBridge0x4200000000000000000000000000000000000010L2 side of the standard asset bridge (ETH/ERC20).
L2ToL1MessagePasser0x4200000000000000000000000000000000000016Low-level channel/record for L2→L1 withdrawals/messages.
L1Block0x4200000000000000000000000000000000000015Provides L1 block info and base fee readings (read-only).
GasPriceOracle0x420000000000000000000000000000000000000FL2 fee oracle interface (baseFee, overhead/scalar, etc.).
L2ERC721Bridge0x4200000000000000000000000000000000000014L2 ERC721 bridge.
OptimismMintableERC20Factory (L2)0x4200000000000000000000000000000000000012Creates mintable mirror tokens for deposited assets on L2.
SequencerFeeVault0x4200000000000000000000000000000000000011Sequencer fee vault.
BaseFeeVault0x4200000000000000000000000000000000000019Base fee vault.
L1FeeVault0x420000000000000000000000000000000000001AL1 fee vault.
OperatorFeeVault0x420000000000000000000000000000000000001BOperator fee vault.
ProxyAdmin0x4200000000000000000000000000000000000018Proxy admin (upgrade management).

Last updated on 2025/09/30