# OPool

### **Overview**

Orbiter Finance OPool is an open-token cross-chain transfer solution. Through the OPool solution, project parties can easily add their tokens to OPool contracts on various chains and enable users to securely and freely move tokens across different chains via cross-chain transfer mechanisms.

### **OPool Contract**

* The OPool contract is the core component of the cross-chain transfer solution, responsible for managing token liquidity on different chains.
* The contract provides inbox and outbox / outboxBatch methods for cross-chain transfer in and out / batch transfer operations, respectively.
* Addresses of OPool contracts on each chain

  | Chain        | Contract                                   |
  | ------------ | ------------------------------------------ |
  | Arbitrum One | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | BSC          | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Ethereum     | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Optimism     | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | BNB          | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | BomeChain    | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | HashKey      | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Kroma        | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Base         | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Vizing       | -                                          |
  | ApeChain     | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |
  | Blast        | 0x68b5a1c02dea0958388eee5361f021018bd8dbe7 |

### **Project Party Workflow**

1. The project party should transfer its tokens (hereinafter referred to as EToken) to the OPool contracts of each chain to provide liquidity. It is necessary to ensure that a sufficient amount of EToken is transferred to the OPool contracts of each chain to meet the demands of cross-chain transfers.
2. The project party needs to monitor the balance of EToken in the OPool contracts on each chain in real-time. When the balance falls below the set threshold, the project party should take immediate action to transfer EToken to the corresponding chain's OPool contract to ensure the continuity of liquidity.
3. Feature: Orbiter Finance will develop a low balance warning service for OPool in the future to timely remind project parties to replenish balances.

### **Cross-Chain Process**

1. Users need to authorize EToken to the OPool contract through the Approve operation before performing cross-chain transactions.

2. Users invoke the inbox method of the OPool contract on the source chain while simultaneously providing Native tokens (such as ETH in Ethereum/layer2s, BNB in BSC, OKB in x-layer) as payment for cross-chain transaction fees<br>

3. Cross-chain transaction fees will be transferred to the Maker address of the Orbiter Finance protocol, while the user's EToken will be locked in the OPool contract on the source chain, triggering the Inbox event.

   im&#x20;

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

4. Upon receiving the Inbox event from the source chain, the Maker node will invoke the outbox / outboxBatch method of the target chain's OPool contract. The outbox method transfers a specified amount of EToken to the user, consuming the EToken balance in the target chain's OPool contract during this process. (Note: If the EToken balance in the target chain's OPool contract is insufficient, the Orbiter Finance protocol will prohibit users from performing cross-chain operations.\
   s v g

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.orbiter.finance/developer/smart-contract/opool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
