# Overview

Matchain is a decentralized AI blockchain platform dedicated to providing comprehensive digital identity solutions for all users. By integrating advanced artificial intelligence, Matchain enhances data categorization and user profiling, seamlessly merging social logins from both Web2 and Web3 into a unified digital identity. This empowers individuals with full control over their data, enabling them to own, manage, and monetize it according to their preferences.

**Key Features:**

* **Decentralized Identity (DID):** Matchain's DID system issues unique digital ID cards to users, capable of binding multiple blockchain wallet addresses and OpenIDs. This system bridges identity data across various chains and platforms, fostering interoperability and reducing fragmentation.

  [Matchain](https://www.matchain.io/blog/matchain-revolutionizing-web3-identity)
* **Data Sovereignty:** Users retain full ownership and control over their personal data, with the ability to decide how it's used and monetized. This approach ensures transparency and user empowerment in the digital economy.

  [Matchain](https://www.matchain.io/blog/pioneering-decentralized-ai-and-data-sovereignty-on-the-bnb-chain)
* **AI Integration:** Leveraging AI, Matchain analyzes and enhances user data, creating comprehensive digital profiles. This facilitates personalized experiences and enables users to understand and capitalize on the value of their data.

  [Matchain](https://www.matchain.io/blog/pioneering-decentralized-ai-and-data-sovereignty-on-the-bnb-chain)

**Strategic Partnerships:**

Matchain has formed significant alliances to drive innovation and expand its reach:

* **Paris Saint-Germain (PSG):** In collaboration with PSG, Matchain aims to revolutionize fan engagement through Web3 innovations, establishing a Joint Innovation Studio to develop cutting-edge technologies.

  [PSG](https://en.psg.fr/teams/club/content/matchain-partners-with-paris-saint-germain-to-bring-web3-innovations-to-global-football-community-2024-2025)
* **BNB Chain's Most Valuable Builder (MVB) Program:** Matchain's selection for this program provides support and resources to advance its AI capabilities and identity solutions, fostering growth and development within the blockchain ecosystem.

  [MVB](https://www.bnbchain.org/en/blog/meet-the-most-valuable-builder-mvb-season-8-cohort)

**Developer Opportunities:**

For developers, Matchain offers a dynamic and rapidly expanding ecosystem:

* **Extensive User Base:** With a growing community of tens of millions of users and projections to reach one billion, developers have the opportunity to create applications with significant reach and impact.

  [GlobeNewswire](https://www.globenewswire.com/news-release/2024/10/18/2965590/0/en/Matchain-Hits-Major-Milestone-Over-9-Million-Wallets-And-Counting.html)
* **Comprehensive Tools and Resources:** Matchain provides APIs, SDKs, and detailed documentation to facilitate the development and deployment of decentralized applications (dApps), supporting innovation and collaboration within the community.

  [Cointelegraph](https://cointelegraph.com/press-releases/matchain-launches-mainnet-pioneering-the-future-of-ai-privacy-and-data-ownership-in-web3)

**Community Engagement:**

Matchain encourages active participation from its community:

* **Open-Source Contributions:** Developers and users are invited to engage with Matchain's open-source projects, addressing issues, participating in bug hunting, and following the Match Contributor Guideline for collaborative development.

  [Matchain](https://www.matchain.io/blog)
* **Support and Collaboration:** The platform fosters a supportive environment for innovation, providing resources and guidance to help users and developers succeed within the Matchain ecosystem.

By focusing on decentralized identity, data sovereignty, and AI integration, Matchain is at the forefront of the digital identity revolution, offering secure, user-centric solutions that empower individuals and drive innovation in the blockchain space.


# Using Mainnet

## Network details <a href="#network-details" id="network-details"></a>

| Parameter          | Value                                                                                                                                                                                                                 |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Network Name       | Matchain                                                                                                                                                                                                              |
| RPC Endpoint       | <https://rpc.matchain.io> (Rate limited not for production systems), access archives at <https://matchain-mainnet-archive.alt.technology> (tx blocks more than 2350000 behind current newest block cannot be indexed) |
| Chain ID           | 698                                                                                                                                                                                                                   |
| Currency Symbol    | BNB                                                                                                                                                                                                                   |
| Block explorer URL | [https://matchscan.io](https://www.matchscan.io)                                                                                                                                                                      |

Or add it automatically from [Chainlist](https://chainlist.org/chain/698)

**Developers**\
For developers, we recommend using Ankr for reliable and scalable RPC endpoints. Visit <https://www.ankr.com/rpc/matchain/> for more details.

## **Adding Matchain Mainnet to MetaMask**

#### *Option 1: Automatic Addition*

1. Navigate to the [Rollup Info Page](https://rollup-info.altlayer.io/oram-primary-compromise/matchain_mainnet).
2. Click the "Connect Wallet" button.
3. Follow the prompts in MetaMask to add the Matchain network.

#### *Option 2: Manual Addition*

1. Open MetaMask and click on the network dropdown at the top.
2. Select "Add Network" and then "Add a network manually."
3. Enter the details listed above:
4. Click "Save" to add the network.

Looking for Testnet? For 99% of projects we would NOT RECOMMEND using Testnet, if you still need a testnet use [opBNB testnet](https://docs.bnbchain.org/bnb-opbnb/developers/network-faucet/).

## Network details

Matchain is identical to opBNB so we use opBNB testnet. [Faucet](https://docs.bnbchain.org/bnb-opbnb/developers/network-faucet/)

| Parameter          | Value                                    |
| ------------------ | ---------------------------------------- |
| Network Name       | opBNB Testnet                            |
| RPC URL            | <https://opbnb-testnet-rpc.bnbchain.org> |
| Chain ID           | 5611                                     |
| Currency Symbol    | tBNB                                     |
| Block explorer URL | <http://testnet.opbnbscan.com/>          |


# Wallet Configuration

To interact with Matchain, you'll need to add both the **Matchain network** and the **BNB Smart Chain (BSC)** to your wallet. Below are step-by-step instructions for setting up these networks in MetaMask.

### **1. Install MetaMask**

* **Browser Extension**: Download and install MetaMask from the [official website](https://metamask.io/).
* **Mobile App**: Available on [iOS](https://apps.apple.com/app/metamask/id1438144202) and Android.

### **2. Add Matchain Network to MetaMask**

1. Open MetaMask and click on the network dropdown at the top.
2. Select "Add Network" and then "Add a network manually."
3. Enter the following details:
   * **Network Name**: Matchain Mainnet
   * **RPC URL**: <https://rpc.matchain.io>, access archives at <https://matchain-mainnet-archive.alt.technology> (tx blocks more than 2350000 behind current newest block cannot be indexed)
   * **Chain ID**: 698
   * **Currency Symbol**: BNB
   * **Block Explorer URL**: <https://matchscan.io>
4. Click "Save" to add the network.

### **3. Add BNB Smart Chain (BSC) to MetaMask**

1. In MetaMask, click on the network dropdown and select "Add Network."
2. Enter the following details:
   * **Network Name**: BSC Mainnet
   * **RPC URL**: <https://bsc-dataseed.binance.org/>
   * **Chain ID**: 56
   * **Currency Symbol**: BNB
   * **Block Explorer URL**: <https://bscscan.com>
3. Click "Save" to add the network.


# Using DApps

Matchain's ecosystem offers a diverse array of decentralized applications (dApps) across various categories, providing users with numerous opportunities to engage with blockchain technology.

**1. Categories of dApps on Matchain**

* **AI dApps**: Engage with decentralized applications that leverage artificial intelligence to provide innovative solutions and services. Explore AI-focused dApps built on Matchain through.
* **Play-to-Earn dApps**: Participate in applications that allow you to earn rewards and assets through various activities. Discover top play-to-earn dApps on Matchain via [DappRadar](https://dappradar.com/chain/matchain).
* **Gaming dApps**: Enjoy interactive gaming experiences on the blockchain. Find information on Matchain's gaming dApps on [DappRadar](https://dappradar.com/chain/matchain).
* **E-commerce dApps**: Engage in decentralized marketplaces and platforms for buying and selling goods and services. Explore e-commerce dApps on Matchain through [DappRadar](https://dappradar.com/chain/matchain).

**2. Accessing dApps on Matchain**

To interact with these dApps:

1. **Set Up a Web3-Compatible Wallet**: Install a wallet such as MetaMask or OKX Wallet or any other EVM wallet.
2. **Connect to Matchain**: [Configure](/getting-started/wallet-configuration) your wallet to connect to [Matchain's network](/getting-started/using-mainnet).
3. **Explore dApps**: Visit the dApp's official website and connect your wallet to start interacting. Visit [Dapp Radar](https://dappradar.com/chain/matchain) to see a full list of Dapps

**3. Security Reminder**

Always verify the authenticity of dApps and exercise caution when interacting with them to ensure the safety of your assets.


# Technical Architecture

<figure><img src="/files/VAqhYxAG4hASnBB32vQB" alt=""><figcaption></figcaption></figure>

## **Overview of Optimism Stack**

The OP Stack is the backbone of Optimism, a groundbreaking approach to scaling Ethereum through optimistic rollups. Developed and maintained by the Optimism Collective, the OP Stack comprises a standardized, shared, and open-source development stack, providing essential tools and infrastructure for building and deploying Optimistic Rollup blockchains.

Key Components:

* Standardization: The OP Stack adheres to standardized protocols, ensuring compatibility and interoperability across the Optimism ecosystem.
* &#x20;Open Source: All components of the OP Stack are open-source, fostering collaboration, transparency, and community-driven development.
* Modularity: The OP Stack is designed with modularity in mind, allowing developers to easily integrate and configure different modules to suit their specific needs.

## Benefits of Using OP Stack:

\- Scalability: By leveraging Optimistic Rollup technology, which aggregates transactions off-chain before submitting them to the Ethereum mainnet, the OP Stack enables significant scalability improvements for Ethereum applications.

\- Security: The OP Stack inherits the security guarantees of Ethereum, ensuring the safety of assets and transactions within Optimistic Rollup chains.

\- Interoperability: Through shared standards and protocols, the OP Stack facilitates seamless interoperability between Optimistic Rollup chains, enabling a cohesive and interconnected ecosystem.

\- Simplicity: With user-friendly tools and documentation, the OP Stack simplifies the process of deploying and managing Optimistic Rollup chains, lowering barriers to entry for developers and users alike.

\- Superchain Integration: As the Optimism Superchain ecosystem evolves, the OP Stack will continue to adapt and expand to support the creation of new chains that seamlessly integrate into this broader network.

[More about OPstack](https://docs.optimism.io/stack/getting-started)

## Our Role in Optimism Superchains

As a chain within the Superchain ecosystem, we reap numerous benefits. By being part of this network of L2 chains, known as OP Chains, we gain shared security, access to a communication layer, and leverage an open-source technology stack.&#x20;

Unlike traditional multi-chain setups, our chain adheres to standardized protocols within the Superchain, allowing for seamless integration and interoperability. This means that developers can easily build applications targeting the Superchain as a whole, abstracting away the complexities of individual chains.&#x20;

Overall, being part of the Superchain ecosystem provides us with enhanced security, streamlined communication, and broader accessibility for developers, ultimately fostering innovation and collaboration within our chain and beyond.

## Integration with BNB Smart Chain

<figure><img src="/files/fVryVn82JXeAaXCCbaRd" alt=""><figcaption></figcaption></figure>

As a member of our chain within the BNB ecosystem, we encounter a pivotal challenge in layer-2 solutions: ensuring accessible and verifiable transaction data. Addressing this concern, our chain utilizes the OP Stack, which uniquely segregates the Data Availability (DA) layer from the execution layer.&#x20;

This separation grants us the flexibility to opt for diverse DA options. By integrating BNB Smart chain  as our DA layer, we unlock significant advantages, notably a notable reduction in transaction costs. This strategic decision not only bolsters efficiency but also aligns seamlessly with our operational needs within the BNB ecosystem, amplifying the value we bring to our users and stakeholders.

OP Stack enables seamless integration with the BNB Smart Chain, allowing you to leverage the BNB ecosystem as the data availability (DA) layer for your layer-2 solution. By utilizing the BNB Smart Chain as the DA layer, we are  benefiting from several advantages:

* Lower Transaction Fees: The BNB Smart Chain offers significantly lower transaction fees compared to Ethereum, which can substantially reduce the costs associated with storing and retrieving data from the DA layer.
* High Throughput: With its high transaction throughput capacity, the BNB  Smart Chain can handle a large volume of data requests and submissions without causing congestion or delays, ensuring efficient data availability for your layer-2 chain.
* BNB Ecosystem Integration: By leveraging the BNB Smart Chain as the DA layer, your layer-2 solution can seamlessly integrate with the broader BNB ecosystem, including various DeFi protocols, NFT platforms, and other applications built on the BNB Chain. This integration allows for seamless interoperability and composability with existing services and applications within the BNB ecosystem.
* Cross-Chain Interoperability: The BNB Smart Chain supports cross-chain communication and interoperability with other blockchain networks, facilitating the exchange of data and assets between your layer-2 chain and other ecosystems.

## **Decentralized Identity (DID)**

* Compliant with W3C standards, Matchain’s DID system issues unique digital ID cards to users, capable of binding multiple blockchain wallet addresses and OpenIDs. This system bridges identity data across various chains and platforms, fostering interoperability and reducing fragmentation.

## Contributing

To enhance your understanding and become more knowledgeable about the Match core protocol, there are multiple avenues for contribution. We suggest starting with setting up a local Match node using the [Match CLI](broken://pages/ikBbwPXioubGhCoj9RWT), which will provide you with practical experience. By utilizing the supported clients, you can engage with the node through queries and transactions.&#x20;

If you find yourself captivated by the process, you can delve even deeper into the subject matter.

* Engage in open-source contributions by addressing issues on GitHub in accordance with the Match Contributor Guideline.&#x20;
* Participate in bug hunting activities and potentially receive a bounty for identifying and reporting bugs.


# Multisig

We’re excited to announce that **Safe (formerly Gnosis Safe)** is now deployed on Matchain, providing a secure and flexible way to manage your assets with multisig wallets.

#### ✅ Multisig is Live

You can now create and manage multisig wallets directly on Matchain using our Safe deployment:

👉 [Launch Multisig App](https://multisig.matchain.io/)

#### 🔒 Why Use Multisig?

* **Enhanced security**: Require multiple signers for sensitive transactions
* **Team-friendly**: Ideal for DAOs, treasuries, and shared ownership
* **Battle-tested**: Powered by the industry-standard Safe protocol


# Fees

How do network fees on Matchain work?

## Matchain Transaction Fees

Each transaction on Matchain incurs two types of fees:

1. **Layer 2 (L2) Execution Fee**: Covers the cost of executing the transaction on Matchain's Layer 2 network.
2. **Layer 1 (L1) Security Fee**: Represents the estimated cost to publish the transaction on the underlying Layer 1 blockchain.

Typically, the L1 security fee is higher than the L2 execution fee. Both fees fluctuate based on network activity:

* **L1 Fee Variability**: The L1 fee changes with transaction volume on the Layer 1 network. To minimize costs, consider submitting transactions during periods of lower gas usage, such as weekends.
* **L2 Fee Variability**: Similarly, the L2 fee adjusts according to the number of transactions being processed on Matchain's Layer 2 network.

Fees typically range from 0.0000002 to 0.0000004 BNB. At a BNB price of $900, this equates to approximately 2,777 to 5,555 transactions per $1.


# Bridges

## [Hyperlane](https://nexus.hyperlane.xyz/?origin=bsc\&destination=matchain) <a href="#superbridge" id="superbridge"></a>

Hyperlane is a Third-Party bridge partner allowing you to bridge ERC20 tokens to and from Matchain aswell as other popular chains.

## [Superbridge](https://bnb-bridge.matchain.io/) <a href="#superbridge" id="superbridge"></a>

Superbridge enables you to bridge BNB from BSC (L1) directly to Matchain.

**Supported Network**[**​**](https://docs.base.org/docs/tools/bridges#supported-networks)

* [Matchain Mainnet](https://bnb-bridge.matchain.io/)


# Block Explorers

## Blockscout <a href="#blockscout" id="blockscout"></a>

A Blockscout explorer is available for [Matchain](https://matchscan.io/).

Blockscout provides tools to help you debug smart contracts and transactions:

* View, verify, and interact with smart contract source code.
* View detailed transaction information


# Oracles

Oracles play a crucial role in Matchain by bridging the gap between on-chain smart contracts and off-chain data, enabling decentralized applications to access real-world information.

### Here is a list of Oracles running on Matchain

[**Orochi Network**](https://docs.orochi.network/orochi-network/)

The Orochi Network provides a robust decentralized oracle solution, including:

1. **Orocle** – Ensures reliable and accurate data across the network.
2. **Orand** – Verifiable Random Function (VRF) adds an extra layer of trust and security.
3. **zkMDAL and zkDatabase** – Boosts network efficiency and safeguards data integrity.

🎯 **Ready to build?**\
Explore the documentation: [Orochi Network Orocle V2](https://docs.orochi.network/orochi-network/)


# Data Indexer

## Mobula

[Mobula.io](https://docs.mobula.io/indexing-stream/introduction) provides curated datasets for builders: market data with **Octopus**, wallets data, metadata with **Metacore**, alongside with REST, GraphSQL & SQL interfaces to query them.

**Supported Network**[**​**](https://docs.base.org/docs/tools/data-indexers/#supported-networks)

* [Matchain Mainnet](https://docs.mobula.io/indexing-stream/guide/deploy-subgraph-matchain-the-graph)

[<br>](https://docs.mobula.io/rest-api-reference/introduction)


# Private RPC Providers

Matchain supports reliable RPC providers to ensure seamless interaction with the network. Below are the available options:

***

**Ankr RPC**

* **URL**: <https://www.ankr.com/rpc/matchain/>
* **Benefits**:

  * High uptime and stability.
  * Scalable for DApp deployment.
  * Developer-friendly and free tier available.

  For more information view the[ Ankr docs](https://www.ankr.com/docs/)

**How to Use**:

1. [Create an account](https://www.ankr.com/rpc/matchain/)
2. Head to <https://www.ankr.com/rpc/projects>
3. Search for Matchain under chains
4. Click to carrot and copy your own private RPC URL

If you are looking for the free public RPC node check out [Using Mainnet](https://docs.matchain.io/getting-started/using-mainnet)


# Contract Deployment

## Matchain Development Guide

Already know what you're doing?

* Add Matchain
* RPC URL: [https://rpc.matchain.io](https://rpc.matchain.io/), access archives at <https://matchain-mainnet-archive.alt.technology> (tx blocks more than 2350000 behind current newest block cannot be indexed)
* ChainID: 698
* Bridge or request gas sponsorship from our team

### Hardhat

Hardhat is a development environment for Ethereum-based smart contracts, providing tools for compilation, deployment, testing, and debugging.

#### Getting Started with Hardhat

1. Install Hardhat:

   ```bash
   npm install --save-dev hardhat
   ```
2. Create a new Hardhat project:

   ```bash
   npx hardhat init
   ```

   Follow the prompts to set up your project.
3. Configure Hardhat to use Matchain by updating `hardhat.config.js`:

   ```javascript
   module.exports = {
     solidity: "0.8.17",
     networks: {
       matchain: {
         url: "https://rpc.matchain.io",
         chainId: 698,
         accounts: ["YOUR_PRIVATE_KEY"] // Replace with your wallet's private key
       }
     }
   };
   ```
4. Write your smart contract in the `contracts` folder, e.g., `HelloWorld.sol`:

   ```solidity
   // SPDX-License-Identifier: MIT
   pragma solidity ^0.8.17;
   contract HelloWorld {
       string public greet = "Hello World!";
   }
   ```
5. Compile your contract:

   ```bash
   npx hardhat compile
   ```
6. Deploy your contract to Matchain:

   ```bash
   npx hardhat run scripts/deploy.js --network matchain
   ```

   Ensure you have a deployment script in the `scripts` folder, e.g., `deploy.js`:

   ```javascript
   async function main() {
       const HelloWorld = await ethers.getContractFactory("HelloWorld");
       const helloWorld = await HelloWorld.deploy();
       await helloWorld.deployed();
       console.log("Contract deployed to:", helloWorld.address);
   }
   main().catch((error) => {
       console.error(error);
       process.exitCode = 1;
   });
   ```

**Danger!**\
It is very dangerous to use a wallet with valuable assets for development. You could easily write code with a bug that transfers the wrong amount of the wrong token to the wrong address. Transactions cannot be reversed once sent!\
-> Be safe and use separate wallets for separate purposes.

### Remix

#### What is Remix?

Remix Project is a robust set of tools that can be used by individuals of any skill level throughout the entire process of developing contracts, and it also serves as an educational platform for learning and experimenting with Ethereum.

#### Getting Started with Remix

1. Visit [Remix](https://remix.ethereum.org/).
2. Navigate to the File Explorer and click the contract button in the top left to create a Smart Contract.
3. Enter a name for the contract, e.g., `test.sol`.
4. Input your smart contract or use the sample contract below:

   ```solidity
   // SPDX-License-Identifier: MIT
   // compiler version must be greater than or equal to 0.8.17 and less than 0.9.0
   pragma solidity ^0.8.17;
   contract HelloWorld {
       string public greet = "Hello World!";
   }
   ```
5. Navigate to the Solidity Compiler sidebar option and click "Compile."

If you didn't get any errors, let's proceed with deploying it onto the blockchain. But first:\
**Danger!**\
It is very dangerous to use a wallet with valuable assets for development. You could easily write code with a bug that transfers the wrong amount of the wrong token to the wrong address. Transactions cannot be reversed once sent!\
-> Be safe and use separate wallets for separate purposes.

#### Deploying Your Smart Contract

Once you have written your Smart Contract in Remix, you can navigate to the sidebar option to Compile your contract.

1. Navigate to the "Deploy & run transactions" sidebar option.
2. Change the top ENVIRONMENT dropdown from "Remix VM" to "Injected Web3."
3. This will prompt MetaMask - Press "Connect" in MetaMask to allow Remix access.
4. Click the "Deploy" button, and confirm the transaction in MetaMask.
5. Deploy done!

Congratulations, you've deployed your first contract on Matchain!


# NFT APIs

## Use Rarible Protocol with Matchain

The Rarible API is a dynamic, open-source, and multi-chain ecosystem designed to revolutionize NFT interactions and experiences. With a comprehensive suite of APIs, SDKs, and Smart Contracts, it provides a robust foundation for developers and creators to craft innovative NFT applications and marketplaces, allowing you to concentrate on your product.

References:

* [Rarible API](https://docs.rarible.org/docs/introduction)
* How to use [API](https://docs.rarible.org/reference/searchtraits) & [SDK](https://docs.rarible.org/reference/getting-started)&#x20;
* How to get [API-Key](https://docs.rarible.org/docs/rarible-protocol#step-1-get-started)


# Account Abstraction

## [Tria](https://docs.tria.so/supported-networks)

In the ever-changing landscape of Web3, new ecosystems and rollups are emerging rapidly, leading to a complex environment of user onboarding, asset fragmentation, and varied user experiences across different blockchains. Abstract your user-onboarding effortlessly with Tria Core SDK's seamless integration — an inbuilt interface tailor-made to seamlessly plug into your React.js, Next.js, or any client-side app.

Supported Networks

* Matchain Testnet
* Matchain Mainnet


# Toolchains


# Foundry

## What is Foundry? <a href="#what-is-foundry" id="what-is-foundry"></a>

[Foundry](https://book.getfoundry.sh/) is a a smart contract development toolset that assists developers in managing dependencies, compiling projects, running tests, deploying contracts, and interacting with blockchains through the command line interface.

## Prerequisites

Before we start, make sure you have met the following conditions:

1. Have some BNB on Matchain Networks. You can follow our guide on [Bridges](/utilities/bridges) and [Network Faucets](/network-faucets).
2. Foundry must be installed on your computer. If it’s not, [follow this guide](https://book.getfoundry.sh/getting-started/installation).

## &#x20;<a href="#getting-started" id="getting-started"></a>

## Getting started on Mainnet <a href="#getting-started" id="getting-started"></a>

### **Deploying a smart contract**

```
forge create ... --rpc-url=https://rpc.matchain.io/
```

### Verifying a smart contract <a href="#verifying-a-smart-contract" id="verifying-a-smart-contract"></a>

```
forge verify-contract ... --chain-id 698
```

### <br>

## Getting started on Testnet <a href="#getting-started" id="getting-started"></a>

### **Deploying a smart contract**

```
forge create ... --rpc-url=https://testnet-rpc.matchain.io
```

### Verifying a smart contract <a href="#verifying-a-smart-contract" id="verifying-a-smart-contract"></a>

```
forge verify-contract ... --chain-id 699
```


# 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="/files/bW0d4lHcH4vlWNPoHp08" 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](mailto:undefined)                                                       |
| ProtocolVersions                  | [0x1032a8D41470bE109e0CC6030377d2b5C64AB745](https://bscscan.com/address/0x1032a8D41470bE109e0CC6030377d2b5C64AB745) |
| ProtocolVersionsProxy             | [0xa39B63CF7e17A666CFeea1Cb0743d6dE29a99D38](https://bscscan.com/address/0xa39B63CF7e17A666CFeea1Cb0743d6dE29a99D38) |
| ProxyAdmin                        | [0x689B77b3564f57d338E6f3E108C60bec937C8510](https://bscscan.com/address/0x689B77b3564f57d338E6f3E108C60bec937C8510) |
| SafeProxyFactory                  | [0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2](mailto:undefined)                                                       |
| 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)   |


# Running Matchain Node

This guide provides instructions on launching a full node on Matchain using a simple Docker Compose script. Follow the steps below to set up your full node.

***

#### Prerequisites

**Clone the Repository**

Before starting, clone the `opstack-fullnode-sync` repository:

```bash
git clone -b v0.3.0 https://github.com/matchain/opstack-fullnode-sync.git
cd opstack-fullnode-sync
```

***

#### Recommended Hardware

* **CPU**: 4 Cores
* **RAM**: 16 GB+
* **Storage**: 1TB SSD (NVMe Recommended)
* **Network**: 100 MB/s+ Download

***

#### Preparation

1. **Generate JWT File**\
   Run the following command to generate a JWT file:

   ```bash
   openssl rand -hex 32 > jwt.txt
   ```
2. **Configure Environment Variables**\
   Copy the `.env.example` file to create your `.env` file, and update the values as needed:

   ```bash
   cp .env.example .env
   ```

   Modify `.env` to set your parameters, or request a preconfigured `.env` [file](https://github.com/matchain/node) from the Matchain team.

***

#### Operating the Node

**Start the Node**

Use Docker Compose to start the node:

```bash
docker compose --env-file .env up -d
```

**View Logs**

* **Logs for OP Node**:

  ```bash
  docker compose logs -f node
  ```
* **Logs for OP Geth**:

  ```bash
  docker compose logs -f geth
  ```

***

#### Sanity Test

**Check Sync Status**

To check the sync status, use:

```bash
curl --location 'localhost:8545' \
--header 'Content-Type: application/json' \
--data '{
  "jsonrpc": "2.0",
  "method": "eth_syncing",
  "params": [],
  "id": 2
}'
```

* If the node is still syncing, you will see output similar to:

  ```json
  {
    "jsonrpc": "2.0",
    "id": 2,
    "result": {
      "currentBlock": "0x7d0f5",
      ...
      "highestBlock": "0xd8674",
      ...
    }
  }
  ```
* When syncing completes, you will see:

  ```json
  {"jsonrpc":"2.0","id":2,"result":false}
  ```

**Check Block Number**

After syncing completes, verify by checking the latest block number:

```bash
curl --location 'localhost:8545' \
--header 'Content-Type: application/json' \
--data '{
  "jsonrpc": "2.0",
  "method": "eth_blockNumber",
  "id": 2
}'
```

* Example response:

  ```json
  {
    "jsonrpc": "2.0",
    "id": 2,
    "result": "0x2139"
  }
  ```

***

#### Stop the Node

To stop the node, use:

```bash
docker compose down
```

***

#### Reference

For further details, refer to the [Optimism Documentation](https://docs.optimism.io/builders/node-operators/tutorials/node-from-docker).


# Contracts

## Matchain Mainnet

### MSwap (Uniswap V2 Fork)

| Contract  | Address                                                                                                               |
| --------- | --------------------------------------------------------------------------------------------------------------------- |
| `Factory` | [0x338bCC4efd3cA000D123d7352b362Fc6D5B3D829](https://matchscan.io/address/0x338bCC4efd3cA000D123d7352b362Fc6D5B3D829) |
| `Router`  | [0x83700f69B0173ebB46fDAd89A4b27eB7ef171118](https://matchscan.io/address/0x83700f69B0173ebB46fDAd89A4b27eB7ef171118) |

## Token Contracts on Matchain Mainnet<br>

| Contract        | Address                                                                                                               |
| --------------- | --------------------------------------------------------------------------------------------------------------------- |
| `USDT`          | [0xB6dc6C8b71e88642cEAD3be1025565A9eE74d1C6](https://matchscan.io/address/0xB6dc6C8b71e88642cEAD3be1025565A9eE74d1C6) |
| `USDC (USDC.e)` | [0x97eec1c29f745dC7c267F90292AA663d997a601D](https://matchscan.io/address/0x97eec1c29f745dC7c267F90292AA663d997a601D) |
| `ETH (WETH)`    | [0xFF13A7A12fd485BC9687fF88D8Ae1A6b655Ab469](https://matchscan.io/address/0xFF13A7A12fd485BC9687fF88D8Ae1A6b655Ab469) |


# Using Testnet

## Network details <a href="#network-details" id="network-details"></a>

| Parameter          | Value                             |
| ------------------ | --------------------------------- |
| Network Name       | Matchain Testnet                  |
| RPC URL            | <https://testnet-rpc.matchain.io> |
| Chain ID           | 699                               |
| Currency Symbol    | BNB                               |
| Block explorer URL | <https://testnet.matchscan.io>    |


# Vision and Mission

Decentralized and scalable AI. Secure Data Sovereignty.

Matchain envisions a future where users have **full control over their digital identities and data**. Our mission is to build a decentralized AI ecosystem that prioritizes **user privacy** and **data ownership**, setting new standards for **ethical AI practices**.

Using **blockchain-based decentralized identity**, Matchain provides a **cross-chain, cross-platform identity aggregation** and **data interoperability solution**, paving the way for self-sovereignty in the Web3 era.

***

## **Why Choose Matchain?**

In the evolving Web3 landscape, identity verification and data management face significant challenges:

* **Centralized platforms** create data silos, infringing on user privacy.
* **On-chain identities** are fragmented and non-interoperable.
* Current **AI models exploit user data** without explicit consent, raising privacy and fairness concerns.

***

## **Our Solution**

Matchain addresses these critical issues by **decentralizing AI through blockchain technology**:

* **Layer 2 Rollup on BNB Chain**: Leveraging the **Optimism stack**, we support **high transaction volumes** with **low latency** for AI dApps.
* **Decentralized Identity**: Users can **verify their identity** and interact with AI without revealing sensitive information, ensuring **privacy** and preventing unauthorized access.
* **Data Sovereignty**: We empower users to control their data, ensuring **transparency and consent** at every step.

***

## **Our Technology**

Matchain combines blockchain and AI innovations for scalability and efficiency:

* **Optimism BNB**: By integrating **OpBNB solutions**, we ensure **fast, cost-effective transactions** for AI applications, supporting **over 60 million transactions** within one month of mainnet launch.


# Deposit to Matchain

Bridging assets to Matchain takes less than 5 minutes.

Bridging assets to Matchain is quick and takes less than **5 minutes**. Matchain provides two bridge options:

1. **BNB-Bridge**: For bridging the L1 token BNB to Matchain.
2. **Canonical Bridge**: For bridging other L1 tokens to Matchain.

***

### **1. Bridging BNB to Matchain**

* **Visit**: [bnb-bridge.matchain.io](https://bnb-bridge.matchain.io/)
* **Steps**:
  1. **Connect your wallet** to the bridge.
  2. **Select** BNB as the asset and ensure **From chain** is set to **BNB Smart Chain**.
  3. **Enter the amount** of BNB to bridge (ensure you have enough BNB on BNB Chain).
  4. **Click "Deposit"** and wait for confirmation.

***

### **2. Bridging Other Assets to Matchain**

* **Visit**: [app.routernitro.com/swap](https://app.routernitro.com/swap)
* **Steps**:
  1. **Connect your wallet** to the bridge.
  2. **Set the "To chain"** as **Matchain** and **"From chain"** as **BSC** or other supported chains.
  3. **Enter the amount** of the supported asset to bridge (ensure you have a positive balance).
  4. **Click "Deposit"** and wait for confirmation.


# Withdraw from Matchain

Bridging assets to Matchain takes less than 5 minutes.

Bridging assets from Matchain takes **less than 5 minutes**, with two bridge options:

1. **BNB-Bridge**: For bridging the L1 token BNB from Matchain. Requires a **7-day challenge period** before tokens can be claimed on BSC.
2. **Canonical Bridge**: For bridging other L1 tokens from Matchain.

***

### **1. Bridging BNB from Matchain**

* **Visit**: [bnb-bridge.matchain.io](https://bnb-bridge.matchain.io/)
* **Steps**:
  1. **Connect your wallet** to the bridge.
  2. **Select BNB** as the asset and set **To chain** to **Matchain**.
  3. **Enter the amount** of BNB to bridge (ensure sufficient BNB balance).
  4. **Click "Withdraw"** and wait for confirmation. **Note**: Tokens can be claimed on BSC after 7 days.

***

### **2. Bridging Other Assets from Matchain**

* **Visit**: [app.routernitro.com/swap](https://app.routernitro.com/swap)
* **Steps**:
  1. **Connect your wallet** to the bridge.
  2. Set the **From chain** as **Matchain** and **To chain** as **BSC** or another supported chain.
  3. **Enter the amount** of the supported asset to bridge.
  4. **Click "Withdraw"** and wait for confirmation.


# Network Faucets

## BNB Faucet

[BNB faucet](https://www.bnbchain.org/en/testnet-faucet) provides free testnet BNB on Matchain Testnet - one claim per 24 hours for seamless and confident development.

## Quicknode Faucet

[Quicknode BNB faucet](https://faucet.quicknode.com/binance-smart-chain/bnb-testnet) support [Coinbase Wallet](https://www.coinbase.com/wallet?utm_source=quicknode), [MetaMask](https://metamask.io/?utm_source=quicknode) wallet. A user's wallet must hold at least 0.001 ETH on Ethereum Mainnet to use the EVM faucets - one drip per network every 12 hours.


# FAQ

<details>

<summary>RPC Archive node</summary>

URL: rpc.matchain.io

Explorer: [www.matchscan.io](http://www.matchscan.io)

Guide to sync node: [https://github.com/alt-research/opstack-fullnode-sync/tree/v0.2.0<br>](<https://github.com/alt-research/opstack-fullnode-sync/tree/v0.2.0&#xA;>)

</details>

{% file src="/files/DZhysa9Zb177h0B0oP2n" %}
env for syncing node
{% endfile %}

<details>

<summary>Transaction example on block explorer where dapp contract is called</summary>

[https://www.matchscan.io/tx/0x59fa7eec07ffe3622f56527676c908a166d2cbb021bb65ce24823cec531c7694](<https://www.matchscan.io/tx/0x59fa7eec07ffe3622f56527676c908a166d2cbb021bb65ce24823cec531c7694&#xA;>)

</details>

<details>

<summary>NFT transfer example</summary>

<https://www.matchscan.io/tx/0x482d540881ddeec9803c8e9410d2b18039cdaf8666c1cc0cfe21cab8aab285bf>

</details>


