# Contracts

## L1/L2 System Contracts

System contracts on Layer1 and Layer2 are an important part of the OP ecosystem. We're using these system contracts to do the following tasks:

* Sending messages between L1 and L2
* Sending tokens between L1 and L2
* Querying information about the current L1 data fee
* And lots more

## Matchain Utility Contracts&#x20;

Matchain's utility contracts encompass essential components that facilitate seamless decentralized exchanges and token operations within the ecosystem.

* **MSwap (Uniswap V2 Fork)**: A decentralized exchange platform enabling efficient token swaps.
* **Token Contracts on Matchain Mainnet**: Contracts governing native tokens, ensuring secure and reliable transactions.

Access here: <https://rollup-info.altlayer.io/oram-primary-compromise/matchain_mainnet>

<figure><img src="https://3655144070-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbX2aIeH4wuQ1gTSIq68Z%2Fuploads%2Fl5F0CcsuhJuWKJ03Y12V%2FScreenshot%202024-08-28%20at%2015.28.17.png?alt=media&#x26;token=a9177c28-be66-41da-89aa-085bb23ec734" alt=""><figcaption></figcaption></figure>

## Infrasctucture Contract Addresses Deployed on BSC

| Name                              | Contract Address                                                                                                     |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| AddressManager                    | [0xA1bd6CFBeB4571DFE48F1a9b04434b90424793b3](https://bscscan.com/address/0xA1bd6CFBeB4571DFE48F1a9b04434b90424793b3) |
| AnchorStateRegistry               | [0x5aef0FA679Fb4F94247b6Eaa40dc83e61d77CEfd](https://bscscan.com/address/0x5aef0FA679Fb4F94247b6Eaa40dc83e61d77CEfd) |
| AnchorStateRegistryProxy          | [0xC9c271e4C17B425A0E75498796B4344F34A3c088](https://bscscan.com/address/0xc9c271e4c17b425a0e75498796b4344f34a3c088) |
| DelayedWETH                       | [0xDD1C904796de39DB09151dc19dE1A712b3f73593](https://bscscan.com/address/0xDD1C904796de39DB09151dc19dE1A712b3f73593) |
| DelayedWETHProxy                  | [0xCbb02dC5a6c4963BF8d251360a5b707e181F6705](https://bscscan.com/address/0xcbb02dc5a6c4963bf8d251360a5b707e181f6705) |
| DisputeGameFactory                | [0x1B7ACA1E23073AF8087FaA3b08018B30d51AB905](https://bscscan.com/address/0x1B7ACA1E23073AF8087FaA3b08018B30d51AB905) |
| DisputeGameFactoryProxy           | [0x79D340Bb55D3207B291c8E41eF08799F64435558](https://bscscan.com/address/0x79D340Bb55D3207B291c8E41eF08799F64435558) |
| L1CrossDomainMessenger            | [0x017D33C1529beF374Ff7930aF5b801c1518AF116](https://bscscan.com/address/0x017D33C1529beF374Ff7930aF5b801c1518AF116) |
| L1CrossDomainMessengerProxy       | [0x0F2B34bbD5eF129bc4A3c6BdFF7525FB29A069CF](https://bscscan.com/address/0x0F2B34bbD5eF129bc4A3c6BdFF7525FB29A069CF) |
| L1ERC721Bridge                    | [0x7334D3C4580df30BEFFffb96A5651D0d884DD2F3](https://bscscan.com/address/0x7334D3C4580df30BEFFffb96A5651D0d884DD2F3) |
| L1ERC721BridgeProxy               | [0x218630c31a47E0dF1d5954d0bEe1C209dfA37546](https://bscscan.com/address/0x218630c31a47E0dF1d5954d0bEe1C209dfA37546) |
| L1StandardBridge                  | [0x7520BF610183F1d72eef5fbc085fa0e7fEd24461](https://bscscan.com/address/0x7520BF610183F1d72eef5fbc085fa0e7fEd24461) |
| L1StandardBridgeProxy             | [0x5238cfD4dD0238b51Fa11B6Aa9F076a6BF95BCe9](https://bscscan.com/address/0x5238cfD4dD0238b51Fa11B6Aa9F076a6BF95BCe9) |
| L2OutputOracle                    | [0x0c284A030Ac8F2D23eEff46c783b15A750e473d3](https://bscscan.com/address/0x0c284A030Ac8F2D23eEff46c783b15A750e473d3) |
| L2OutputOracleProxy               | [0xc18EBF62817A4ec94C5a4f4978E913975baa6Fc1](https://bscscan.com/address/0xc18EBF62817A4ec94C5a4f4978E913975baa6Fc1) |
| Mips                              | [0x3968a4834919e5e5396E21dC254719e46BdFa030](https://bscscan.com/address/0x3968a4834919e5e5396E21dC254719e46BdFa030) |
| OptimismMintableERC20Factory      | [0x91330629B4B833a7344F391995fDFBac3CfBD1Bc](https://bscscan.com/address/0x91330629B4B833a7344F391995fDFBac3CfBD1Bc) |
| OptimismMintableERC20FactoryProxy | [0x6337C0f283A59E85295741a47Ca2a263A785576d](https://bscscan.com/address/0x6337C0f283A59E85295741a47Ca2a263A785576d) |
| OptimismPortal                    | [0xEa6F37dEE3151EA12Ccc5df59C9ae8b195066f57](https://bscscan.com/address/0xEa6F37dEE3151EA12Ccc5df59C9ae8b195066f57) |
| OptimismPortal2                   | [0x5d31d786Bb2E9c2cC879e74592e35d11cc087c98](https://bscscan.com/address/0x5d31d786Bb2E9c2cC879e74592e35d11cc087c98) |
| OptimismPortalProxy               | [0x48896b23756f528649B21a87c70823124aBE04b3](https://bscscan.com/address/0x48896b23756f528649B21a87c70823124aBE04b3) |
| PreimageOracle                    | [0x89B86Ecf687c261C1E5DF8c547b95e99669F5c07](https://app.gitbook.com/u/30wf5bTANgVgkkskHilvP7pszT03)                 |
| ProtocolVersions                  | [0x1032a8D41470bE109e0CC6030377d2b5C64AB745](https://bscscan.com/address/0x1032a8D41470bE109e0CC6030377d2b5C64AB745) |
| ProtocolVersionsProxy             | [0xa39B63CF7e17A666CFeea1Cb0743d6dE29a99D38](https://bscscan.com/address/0xa39B63CF7e17A666CFeea1Cb0743d6dE29a99D38) |
| ProxyAdmin                        | [0x689B77b3564f57d338E6f3E108C60bec937C8510](https://bscscan.com/address/0x689B77b3564f57d338E6f3E108C60bec937C8510) |
| SafeProxyFactory                  | [0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2](https://app.gitbook.com/u/30wf5bTANgVgkkskHilvP7pszT03)                 |
| SafeSingleton                     | [0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552](https://bscscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552) |
| SuperchainConfig                  | [0x7E0666f2810cC7831f9cCbdDF6bc20075D362cc3](https://bscscan.com/address/0x7E0666f2810cC7831f9cCbdDF6bc20075D362cc3) |
| SuperchainConfigProxy             | [0xcaBac58bb498b01cB975fC530f3D4E723a44Db8d](https://bscscan.com/address/0xcaBac58bb498b01cB975fC530f3D4E723a44Db8d) |
| SystemConfig                      | [0xE5a08DD2E2006C2a515efa869AE9137873B681F3](https://bscscan.com/address/0xE5a08DD2E2006C2a515efa869AE9137873B681F3) |
| SystemConfigProxy                 | [0xb0C62648C5837a8e98bbe02e06D2fcD049BBfA82](https://bscscan.com/address/0xb0C62648C5837a8e98bbe02e06D2fcD049BBfA82) |
| SystemOwnerSafe                   | [0x00D576F15A953296521E265d358eF8ECF305fe10](https://bscscan.com/address/0x00D576F15A953296521E265d358eF8ECF305fe10) |

## Deploy Config

| Name                                     | Value                                                                                                                |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| finalSystemOwner                         | [0x815A3283fd4a866d8D533fC979d8d81e8E035C13](https://bscscan.com/address/0x815A3283fd4a866d8D533fC979d8d81e8E035C13) |
| superchainConfigGuardian                 | 0x19dDA1593Cd663941eEdE1E3d80f46d5Dd537B2b                                                                           |
| l1StartingBlockTag                       | 0x6eff1b5ef9a0e5c176b37a1a74d01c57a53bbe293b3fb3314f730e3327851150                                                   |
| l1ChainID                                | 56                                                                                                                   |
| l2ChainID                                | 698                                                                                                                  |
| l1BlockTime                              | 3                                                                                                                    |
| l2BlockTime                              | 1                                                                                                                    |
| maxSequencerDrift                        | 1800                                                                                                                 |
| sequencerWindowSize                      | 14400                                                                                                                |
| channelTimeout                           | 1200                                                                                                                 |
| p2pSequencerAddress                      | 0x558BBcD1320e5007176d910B62Dbe82B800EDe94                                                                           |
| batchInboxAddress                        | 0xFF000000000000000000000000000000002ba2ba                                                                           |
| batchSenderAddress                       | 0x80c519e4Be85C1e5381DB4A79Dedd6E4959BC74b                                                                           |
| l2OutputOracleSubmissionInterval         | 3600                                                                                                                 |
| l2OutputOracleStartingBlockNumber        | 0                                                                                                                    |
| l2OutputOracleStartingTimestamp          | 1721308788                                                                                                           |
| l2OutputOracleProposer                   | 0x038A3c6f91618C881C9636cE540c7A242Da3E2bd                                                                           |
| l2OutputOracleChallenger                 | 0x1643e4516Dd59326E45FEe22fEf14901B422E706                                                                           |
| finalizationPeriodSeconds                | 604800                                                                                                               |
| proxyAdminOwner                          | 0x6E6d437694911A0C212Eed6C4DA63709A3e45f27                                                                           |
| baseFeeVaultRecipient                    | 0xC840ABb22F8e8558562aAF41CEDC263E8cb510e6                                                                           |
| l1FeeVaultRecipient                      | 0xC840ABb22F8e8558562aAF41CEDC263E8cb510e6                                                                           |
| sequencerFeeVaultRecipient               | 0xC840ABb22F8e8558562aAF41CEDC263E8cb510e6                                                                           |
| baseFeeVaultMinimumWithdrawalAmount      | 0x853a0d2313c0000                                                                                                    |
| l1FeeVaultMinimumWithdrawalAmount        | 0x853a0d2313c0000                                                                                                    |
| sequencerFeeVaultMinimumWithdrawalAmount | 0x853a0d2313c0000                                                                                                    |
| baseFeeVaultWithdrawalNetwork            | 0                                                                                                                    |
| l1FeeVaultWithdrawalNetwork              | 0                                                                                                                    |
| sequencerFeeVaultWithdrawalNetwork       | 0                                                                                                                    |
| gasPriceOracleOverhead                   | 2100                                                                                                                 |
| gasPriceOracleScalar                     | 1000000                                                                                                              |
| enableGovernance                         | FALSE                                                                                                                |
| governanceTokenSymbol                    | OP                                                                                                                   |
| governanceTokenName                      | Optimism                                                                                                             |
| governanceTokenOwner                     | 0x06eAb05e05b366431CCD81E006d5FCa197A1D9B0                                                                           |
| l2GenesisBlockGasLimit                   | 0x5f5e100                                                                                                            |
| l2GenesisBlockBaseFeePerGas              | 0x5f5e100                                                                                                            |
| l2GenesisRegolithTimeOffset              | 0x0                                                                                                                  |
| l2GenesisDeltaTimeOffset                 | 0x0                                                                                                                  |
| l2GenesisCanyonTimeOffset                | 0x0                                                                                                                  |
| l2GenesisEcotoneTimeOffset               | 0x0                                                                                                                  |
| eip1559Denominator                       | 8                                                                                                                    |
| eip1559DenominatorCanyon                 | 8                                                                                                                    |
| eip1559Elasticity                        | 2                                                                                                                    |
| systemConfigStartBlock                   | 0                                                                                                                    |
| requiredProtocolVersion                  | 0x0000000000000000000000000000000000000000000000000000000000000000                                                   |
| recommendedProtocolVersion               | 0x0000000000000000000000000000000000000000000000000000000000000000                                                   |
| fundDevAccounts                          | FALSE                                                                                                                |
| useFaultProofs                           | FALSE                                                                                                                |
| proofMaturityDelaySeconds                | 302400                                                                                                               |
| disputeGameFinalityDelaySeconds          | 302400                                                                                                               |
| respectedGameType                        | 0                                                                                                                    |
| faultGameWithdrawalDelay                 | 604800                                                                                                               |
| faultGameAbsolutePrestate                | 0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98                                                   |
| faultGameMaxDepth                        | 50                                                                                                                   |
| faultGameMaxDuration                     | 2400                                                                                                                 |
| faultGameGenesisBlock                    | 0                                                                                                                    |
| faultGameGenesisOutputRoot               | 0x0000000000000000000000000000000000000000000000000000000000000000                                                   |
| faultGameSplitDepth                      | 14                                                                                                                   |
| preimageOracleMinProposalSize            | 10000                                                                                                                |
| preimageOracleChallengePeriod            | 120                                                                                                                  |
| usePlasma                                | FALSE                                                                                                                |
| daChallengeWindow                        | 3600                                                                                                                 |
| daResolveWindow                          | 3600                                                                                                                 |
| daBondSize                               | 103486250000000000                                                                                                   |
| daResolverRefundPercentage               | 100                                                                                                                  |

## Infrasctucture Contract Addresses Deployed on Matchain

| Name                         | Address                                                                                                                   |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Multicall3                   | [0xcA11bde05977b3631167028862bE2a173976CA11](https://www.matchscan.io/address/0xcA11bde05977b3631167028862bE2a173976CA11) |
| OptimismMintableERC20Factory | [0x70E1176C170DE7aBCe9762E1C689ea8379e185b3](https://www.matchscan.io/address/0x70E1176C170DE7aBCe9762E1C689ea8379e185b3) |

## Key parameters

| Name                                                                     | Introduction                                                                                                                      |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| l1BlockTime                                                              | the rollup block interval                                                                                                         |
| l2OutputOracleSubmissionInterval                                         | The L2 block interval for submiting OutputRoot to L2OutputOracle (how many l2 block submit once)                                  |
| channelTimeout                                                           | Maximum number of L1 blocks that a transaction channel frame can be considered valid                                              |
| finalizationPeriodSeconds                                                | Number of seconds that a proposal must be available to challenge before it is considered finalized by the OptimismPortal contract |
| proxyAdminOwner                                                          | The proxy owner for layer1 contract, the most important key for op                                                                |
| finalSystemOwner                                                         | The owner of the contract SystemConfig                                                                                            |
| baseFeeVaultRecipient / l1FeeVaultRecipient / sequencerFeeVaultRecipient | The fee that the rollup withdraw from rollup users                                                                                |
| batchSenderAddress                                                       | Used in op-batcher to submit rollup block to layer1                                                                               |
| l2OutputOracleProposer                                                   | Used in op-proposer to submit OutputRoot to layer1                                                                                |
| gasPriceOracleOverhead                                                   | The initial value of the gas overhead in the GasPriceOracle predeploy                                                             |
| gasPriceOracleScalar                                                     | The initial value of the gas scalar in the GasPriceOracle predeploy                                                               |
| l2GenesisBlockGasLimit                                                   | Initial block gas limit                                                                                                           |
| l2GenesisBlockBaseFeePerGas                                              | Initial base fee                                                                                                                  |

## Matchain Mainnet Utility Contracts

### Oku (Uniswap V3 Fork)

* Oku Open Source Github
* Uniswap V3 SDK

| Contract                                          | Address                                    |
| ------------------------------------------------- | ------------------------------------------ |
| v3CoreFactoryAddress                              | 0xcb2436774C3e191c85056d248EF4260ce5f27A9D |
| multicall2Address                                 | 0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435 |
| proxyAdminAddress                                 | 0x0d922Fb1Bc191F64970ac40376643808b4B74Df9 |
| tickLensAddress                                   | 0xB3309C48F8407651D918ca3Da4C45DE40109E641 |
| nftDescriptorLibraryAddressV1\_3\_0               | 0xE3dbcD53f4Ce1b06Ab200f4912BD35672e68f1FA |
| nonfungibleTokenPositionDescriptorAddressV1\_3\_0 | 0x454050C4c9190390981Ac4b8d5AFcd7aC65eEffa |
| descriptorProxyAddress                            | 0x38EB9e62ABe4d3F70C0e161971F29593b8aE29FF |
| nonfungibleTokenPositionManagerAddress            | 0x743E03cceB4af2efA3CC76838f6E8B50B63F184c |
| v3MigratorAddress                                 | 0x8B3c541c30f9b29560f56B9E44b59718916B69EF |
| v3StakerAddress                                   | 0x5911cB3633e764939edc2d92b7e1ad375Bb57649 |
| quoterV2Address                                   | 0xaa52bB8110fE38D0d2d2AF0B85C3A3eE622CA455 |
| swapRouter02                                      | 0x807F4E281B7A3B324825C64ca53c69F0b418dE40 |
| UniversalRouter                                   | 0x9db70E29712Cc8Af10c2B597BaDA6784544FF407 |
| Permit2                                           | 0xB952578f3520EE8Ea45b7914994dcf4702cEe578 |

## **Token Contracts**

| Contract                          | Address                                                                                                               |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `USDT`                            | [0xa0e73E30945B80010503E68e53AbFd0B6B6a6ed9](https://matchscan.io/address/0xa0e73E30945B80010503E68e53AbFd0B6B6a6ed9) |
| `Bridged USDC (Hyperlane) (USDC)` | [0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7](https://matchscan.io/token/0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7)   |
| `WBNB`                            | [0x4200000000000000000000000000000000000006](https://matchscan.io/token/0x4200000000000000000000000000000000000006)   |
