# Description

## Welcome to API&#x20;

Here you can find the documents you need.

## This section explains&#x20;

{% content-ref url="/pages/B39w7onmj10oUslDc8EQ" %}
[OmniBridge](/master/omnibridge)
{% endcontent-ref %}

{% content-ref url="/pages/EIOaj9nAQTjlQgPnGI4Q" %}
[Status flow](/master/status-flow)
{% endcontent-ref %}

## Want to know more about us?&#x20;

Providing the following API for use

## CROSS-CHAIN SWAP API

{% content-ref url="/pages/orIMZX6A8kodUghVCFJ8" %}
[CROSS-CHAIN SWAP API](/cross-chain-swap-api)
{% endcontent-ref %}


# OmniBridge

All-in-One Cross-Chain Interoperability Platform – Secure, Fast, and Reliable

OmniBridge has been operating since 2017 as a comprehensive cross-chain connectivity solution. It enables seamless interoperability across 50+ blockchains and 500+ crypto assets, delivering users a secure, efficient, and low-cost cross-chain experience.

&#x20;Integrated Partners:

TokenPocket, Trust Wallet, OKX, SafePal, OneKey, imToken, Bitget Wallet, ELLIPAL, SwapSpace, Ave.ai, Rango, Math Wallet, ONTO Wallet, Radiant, Swapzone, and more.

&#x20;Key Advantages

### Fast Integration:&#x20;

* Complete integration in just 1–2 days
* Comprehensive Technical Support: End-to-end assistance for partners
* 24/7 Customer Service: Non-stop support for users and partners
* Custom DApp Compatibility: Accessible from any decentralized wallet
* Robust Security: Proven risk control frameworks to ensure asset safety

### DAPP

{% embed url="<https://app.omnibridge.pro/#/?sourceFlag=apiweb>" %}


# Cross chain protocol

Cross - Chain Protocol: Notary Model + MPC Multi - Party Signature

### Roles in Cross - Chain Swaps

* Sender: Users who interact with the core cross - chain system and can initiate cross - chain swaps.
* Verifier: Adopting the notary model, it uses MPC (Multi - Party Computation) multi - party signature to verify users' deposit transactions.
* Repeater: Based on the successful verification results from the Verifier, it submits to the cross - chain system to complete users' swaps.
* Settlement: The executor of transactions on the target chain.

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FKKJjSZKImzqvjtdTPZ65%2FBridge%20Protocol.png?alt=media&amp;token=9199bf95-d37a-4a40-bf74-db4cb1f3ce5b" alt=""><figcaption></figcaption></figure>

### Workflow

1. OmniBridge is a permissionless cross-chain bridge built on the notary model + MPC multi-party signature, developed by the Omni team, aiming to enable one-click cross-chain swaps.
2. On the source network, Senders can initiate cross-chain transactions via our frontend system or decentralized wallets integrated with our API. The Verifier then uses the notary model to validate the user's deposit transaction on the source chain, applying a 3/5 threshold gate. If validation fails, the order halts—though the probability of this is extremely low. We currently deploy 5 nodes across web3 industry communities, requiring at least 3 nodes to approve. Even if nodes act maliciously or fail, at least 3 concurrent failures are needed to disrupt the process.
3. Once source network transaction validation passes, the Repeater collects verification results from nodes and submits them to our core cross-chain system for swapping. The swap process is near-instantaneous. Upon completion, the final verification occurs: the Settlement sends tokens to the user on the target chain.
4. On the target chain, the Settlement also uses multi-node validation to verify the deposit and swap process. After approval, the Sender receives the desired tokens on the target chain.

### Nodes

We currently utilize 5 web3 community nodes participating in validation: OmniBridge, Bridgers, MetaPath, MpcWallet, ETHF, etc., all operating smoothly. Nodes must be deployed in respective communities and added to our whitelist to join validation.

* Rewards

Validation nodes receive regular incentive rewards for participating in transaction verification.

* Slashing

Malicious validation or persistent non-participation triggers our slashing policy. Penalties are determined by the ratio of failed validations to successful ones. Triggering this policy results in node removal and slashing.

### Security Mechanisms

* Signature Classification

Single-Signature Notary: Centralized nodes validate independently (high efficiency but concentrated risk), common in exchange cross-chain swaps.

Multi-Signature Notary: A union of notaries requires majority signatures for consensus, reducing single-point failure risks.

Distributed MPC Signature: Key sharding with multi-party computation (MPC) for combined signatures, balancing security and decentralization.

* Notary Model + MPC Multi-Party Signature

Third-party notaries act as intermediaries to verify cross-chain transaction authenticity and relay data. Notaries handle data collection, validation, and confirmation, enabling indirect trust between non-interoperable chains.

### Why Notary Model + MPC Is Secure

* Key Management: Eliminating Single-Point Risk
  * Distributed Private Key Storage

    MPC splits private keys into shards via secret sharing (e.g., Shamir's protocol), with each notary node holding independent fragments. No single node can reconstruct the key or sign transactions, eliminating single-point compromise risks.
  * Dynamic Signing Process

    During transaction signing, nodes use MPC to collaboratively generate valid signatures without reconstructing the full key, avoiding exposure risks in traditional multi-signature setups.
* Transaction Validation: Dual Consensus Mechanisms
  * Off-Chain Consensus in Notary Clusters

    Notary nodes achieve consensus on transaction legitimacy via BFT (Byzantine Fault Tolerance) algorithms, ensuring authenticity—e.g., distributed signature notaries require majority approval.
  * MPC Threshold Signature Constraints

    Setting a signature threshold (e.g., 3/5) ensures valid signatures only when sufficient nodes participate. Attackers must compromise over the threshold to manipulate transactions, raising attack costs exponentially.
* Anti-Attack and Fault Tolerance
  * Defense Against Internal Collusion

    MPC cryptography prevents notaries from accessing others' key shards. Even colluding nodes can't forge transactions without meeting the signature threshold.
  * Node Failure Tolerance

    If some nodes go offline or are compromised, active nodes can still sign (e.g., 3 out of 5 nodes operating). MPC's fault tolerance ensures continuous system operation.
* Technical Synergy Enhancing Security

| Risk Type              | ‌Notary Model Mitigation                       | ‌MPC Multi-Signature Enhancement                                              |
| ---------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
| ‌Single-Point Failure  | Multi-node distributed responsibility          | Key shards without complete form                                              |
| Protocol Compatibility | Adapts to validation rules of different chains | MPC based on standard cryptography (e.g., ECDSA) for cross-chain universality |
| Transparency & Audit   | On-chain transaction records are traceable     | Signing processes have auditable, tamper-proof logs                           |

* Additional Security Layers
  * Notary Node Screening

    Reputation mechanisms (e.g., renowned institutions as nodes) or staking economies raise malicious behavior costs. Random node rotation reduces long-term collusion risks.
  * MPC Security Implementation

    Relies on academically validated cryptographic schemes (e.g., ECDSA) and third-party audits (e.g., NCC Group penetration testing) to avoid algorithmic vulnerabilities.
* Conclusion: Security Through Layered Defense
  * Physical Layer: Distributed private key storage, no complete key form.
  * Consensus Layer: Multi-node notary validation + MPC threshold signatures.
  * Algorithmic Layer: Cryptographic protocols ensuring shard privacy and computational legitimacy.

    This combination balances off-chain efficiency and on-chain trustworthiness, making it ideal for high-value cross-chain asset custody, DAO multi-signature vaults, and similar scenarios.

    <br>


# Status flow

### 1.Exchange timing chart

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FxN94uggsLaCT3uJnOwJn%2Ftelegram-cloud-photo-size-5-6318822046011428115-y.jpg?alt=media&amp;token=164a590b-72bc-4d75-8e26-9935a5d364cc" alt=""><figcaption></figcaption></figure>

1\. User: View redeemable currencies

2\. API service: View the list of supported currencies for redemption; return query results

3\. User: See the list of supported redeemable currencies

4\. User: Select the currency to redeem and check the corresponding exchange rate

5\. API service: Query the exchange rate of the corresponding currency, e.g., BTC/USDT, and return the exchange rate query results

6\. User: See the exchange rate of the corresponding currency

7\. User: Enter/select relevant information to place an order, e.g., quantity, target currency receiving address

8\. User: Confirm the entered/selected relevant information

9\. User: Enter the password

10\. API service: Call the order creation interface

11\. API service: Return the order creation result (if the cumulative redemption amount of the order's coin receiving address within 24 hours exceeds the threshold, triggering KYC, relevant information will be returned)

12\. API service: Return the order creation result

13\. User: Transfer funds to the temporary address returned by the order creation interface

14\. User: Query the order status

15\. API service: Refresh the order status in real-time and return the order status

16\. API service: Start the redemption upon detecting the user's deposit

17\. API service: Complete the redemption, send the target currency to the user if successful, and return the original currency if failed

18\. API service: Triggering the KYC limit will result in fund withdrawal or continuing redemption after completing KYC

19\. User: Query the order status

20\. API service: Detect the deposit and execute the redemption

21\. API service: Complete the redemption and issue the currency

### 2.Order Status Flow Chart

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FimGD1ZVA18XumeGieUSm%2Ftelegram-cloud-photo-size-5-6318822046011428113-y.jpg?alt=media&amp;token=9de75256-0e6b-439c-a1ef-72cc68794707" alt=""><figcaption></figcaption></figure>


# Fees

The OmniBridge fee structure comprises two components: the bridging fee and the target chain gas fee. This structure ensures fast and reliable asset transfers.

* Bridging Fee

  Charged as a percentage of the transfer amount, we levy a 0.3% bridging fee on all users.
* Target Chain Gas Fee

  This fee covers the gas costs incurred when sending tokens to the user's address on the target chain.

Example: Suppose a user initiates a cross-chain swap on the Ethereum source chain, exchanging 1 ETH for BTC on the Bitcoin target chain:

&#x20;

Bridging Fee: 1 ETH \* 0.003 = 0.003 ETH

The cross-chain system uses 0.997 ETH for the actual swap. If the exchange rate yields 0.1 BTC, and the target chain gas fee is 0.001 BTC, the user will receive:

Final Amount: 0.1 BTC - 0.001 BTC = 0.099 BTC

<br>

<br>


# Browser

To facilitate users in viewing and tracking transaction progress, we've designed the dedicated OmniBridge cross-chain browser—accessible via the OmniBridge Explorer.

{% embed url="<https://explorer.omnibridge.pro/#/>" %}

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FITRRvqA3a2GHMYbMrArc%2Fimage.png?alt=media&amp;token=8cdc27a4-1f49-4b48-ab93-7125eaf0cc7e" alt=""><figcaption></figcaption></figure>


# Supported Chains

OmniBridge is continuously expanding its cross-chain capabilities to support more blockchains, with a commitment to connecting all ecosystem chains. The currently supported networks include:

| EVM        | UTXO | Other       |
| ---------- | ---- | ----------- |
| ETH        | BTC  | SOL         |
| BSC        | BCH  | TRX         |
| ARB        | DOGE | XRP         |
| Optimism   | LTC  | SUI         |
| POLYGON    | DASH | TON         |
| AVAXC      |      | DOT         |
| ZKSYNC     |      | XLM         |
| BASE       |      | VET         |
| LINEA      |      | ADA         |
| opBNB      |      | ONT         |
| zkEVM      |      | IOST        |
| Unichain   |      | Vaulta(EOS) |
| Moonriver  |      | XVG         |
| SCROLL     |      | KAVA        |
| CRONOS     |      | KASPA       |
| Manta      |      | FLOW        |
| Sonic      |      | THETA       |
| XLayer     |      | HBAR        |
| Blast      |      |             |
| KLAY       |      |             |
| ETC        |      |             |
| CELO       |      |             |
| ETHF       |      |             |
| APE        |      |             |
| HashKey    |      |             |
| WorldChain |      |             |
| ORC        |      |             |
| GRC30      |      |             |
| PLS        |      |             |
| OZO        |      |             |
| CMEMO      |      |             |
| AREA       |      |             |
| LAIKA      |      |             |
| VANA       |      |             |
| BERA       |      |             |
| Qubetics   |      |             |
| XDC        |      |             |


# Frequently Questions

## 一、Exchange problem

### 1、Why haven't I received my coins after the exchange was completed? <a href="#id-2-wei-shen-me-dui-huan-wan-cheng-mei-you-shou-dao-bi" id="id-2-wei-shen-me-dui-huan-wan-cheng-mei-you-shou-dao-bi"></a>

Please check whether your receiving address is correctly entered. If the address is correct, please double-check that the blockchain network of the coin you exchanged matches the network you are checking on. In our system, all coins marked as "erc20" are tokens on the Ethereum network, those marked as "trc20" are on the Tron (TRON) network, "HECO" marked coins are on the Huobi ECO Chain, and "BSC" marked coins are on the Binance Smart Chain. You must check your balance on the corresponding blockchain network according to the coin you exchanged.

Example: If you exchanged an ERC20 token but are using an HT (Huobi Token) wallet address, you must switch your wallet to the Ethereum network to see the token. If you are using another decentralized wallet, you need to import the address into an Ethereum-compatible wallet to view the received tokens.

### 2、How long does an exchange usually take? <a href="#id-3-dui-huan-yi-ban-xu-yao-duo-jiu" id="id-3-dui-huan-yi-ban-xu-yao-duo-jiu"></a>

Typically, it takes about 2 minutes. The estimated processing time will be displayed on the exchange page. However, during periods of network congestion, it may take 30 minutes to 1 hour. If you have any concerns, please contact our online customer service via the website.

### 3、What fees are involved during the exchange process? <a href="#id-5-dui-huan-guo-cheng-zhong-xu-yao-xiao-hao-de-fei-yong-you-na-xie" id="id-5-dui-huan-guo-cheng-zhong-xu-yao-xiao-hao-de-fei-yong-you-na-xie"></a>

The fees required for each exchange include:

1）Network transaction (miner) fee when transferring out from the blockchain

2）Service fee generated during the exchange process;

3）Issuance fee or miner fee required when sending out the exchanged coins.

### 4、Why is the amount received different from the amount shown at the time of initiation? <a href="#id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi" id="id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi"></a>

The amount displayed at initiation is an estimate provided by the system. It may vary slightly due to factors such as the exchange amount, market depth, and slippage.

### 5、Why was my order automatically refunded? <a href="#id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi" id="id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi"></a>

Orders may be automatically refunded if the final exchange amount is significantly affected by market depth or exchange rate fluctuations, resulting in a final amount that differs greatly from the user's expected value.

### 6、Why is my order stuck in "wait\_deposit\_send" status? <a href="#id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi" id="id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi"></a>

Please verify that the deposit address you used matches the address provided in your order, that the deposited amount matches the required amount, and that the deposited cryptocurrency is correct. If all of the above are correct but your order remains in "Pending Deposit" status for a prolonged time, please contact our customer support team.

### 7、**Which countries or regions are restricted from accessing the API services?** <a href="#id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi" id="id-6-wei-shen-me-shan-dui-hou-de-dao-de-shu-liang-yu-fa-qi-shi-xian-shi-de-bu-yi-zhi"></a>

Due to compliance and jurisdictional policy requirements, our API services are unavailable in specific jurisdictions. Restricted regions include, but are not limited to: the United States, Mainland China, Iran, North Korea, Cuba, Venezuela, Belarus, Russia, Congo, Myanmar, Zimbabwe, Afghanistan, Iraq, Lebanon, Libya, Somalia, Yemen, South Sudan, Ukraine, Cambodia, Central African Republic, Haiti, Syria, as well as certain restricted areas within Ukraine.

*Note: The list of restricted regions is subject to change based on international policies. Please refer to the latest announcements for the most up-to-date information.*


# CROSS-CHAIN SWAP API

## Welcome to CROSS-CHAIN SWAP API

In this section you can learn about and use the CROSS-CHAIN SWAP API

**API HOST**

**`https://api.omnibridge.pro`**

**Request Method: POST**

**Content-Type: application/json**

## Error code description

{% content-ref url="/pages/yBSbzs4xPUNIvhNSwNzG" %}
[Error Code](/cross-chain-swap-api/error-code)
{% endcontent-ref %}

## Other Request

{% content-ref url="/pages/-LUhpFl9\_rDtaWxatyj6" %}
[Get Coin List](/cross-chain-swap-api/check-token-types-list-port)
{% endcontent-ref %}

{% content-ref url="/pages/-LUhpsdv7KdbfbgD4ggH" %}
[Get Fee Rates](/cross-chain-swap-api/obtain-exchange-rate-basic-information-port)
{% endcontent-ref %}

{% content-ref url="/pages/-LUhqTsvTkq6B0bytXOY" %}
[Create Order](/cross-chain-swap-api/create-order)
{% endcontent-ref %}

{% content-ref url="/pages/wiYHRkBy88dUy4oaNtDS" %}
[Upload Transaction Hash](/cross-chain-swap-api/upload-transaction-hash)
{% endcontent-ref %}

{% content-ref url="/pages/chX28F3nwrRsAb2xjCkB" %}
[Upload Multiple Transaction Hash](/cross-chain-swap-api/upload-multiple-transaction-hash)
{% endcontent-ref %}

{% content-ref url="/pages/-LUhr7RydXbF3TcoewLt" %}
[Check order status](/cross-chain-swap-api/check-order-status)
{% endcontent-ref %}

{% content-ref url="/pages/-MYsEZhL4Ox4FHkIaM9v" %}
[Get Order List](/cross-chain-swap-api/all-orders)
{% endcontent-ref %}

{% content-ref url="/pages/w9dLz2Iap1bEgCb2fDpd" %}
[Upload gas free orders](/cross-chain-swap-api/upload-gas-free-orders)
{% endcontent-ref %}

{% content-ref url="/pages/5Ix0YbNmVEh09Rpsfq0j" %}
[Check Multiple order status](/cross-chain-swap-api/check-order-status-1)
{% endcontent-ref %}


# Error Code

### Request for explanation

1. The request method is POST application/json
2. Description of status code:

| Error code | Explanation                                                                                                                                                                     |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 201        | The equipment source does not exist                                                                                                                                             |
| 202        | Decimal digits of deposit amount are too long                                                                                                                                   |
| 203        | Failed to obtain the deposit address                                                                                                                                            |
| 204        | The service charge method does not exist                                                                                                                                        |
| 205        | The service charge method cannot be set repeatedly                                                                                                                              |
| 207        | Address type does not exist                                                                                                                                                     |
| 209        | The destination receiving address cannot be set repeatedly                                                                                                                      |
| 210        | The return to original currency address cannot be set repeatedly                                                                                                                |
| 212        | The address type is set incorrectly                                                                                                                                             |
| 213        | Illegal request                                                                                                                                                                 |
| 214        | Currency does not exist                                                                                                                                                         |
| 215        | The address is illegal                                                                                                                                                          |
| 216        | Illegal amount and quantity                                                                                                                                                     |
| 217        | Insufficient account balance                                                                                                                                                    |
| 218        | This currency does not support exchange, please select again                                                                                                                    |
| 266        | Cannot exceed 2 digits after the decimal point                                                                                                                                  |
| 270        | The amount of the coin cannot exceed 4 digits after the decimal point                                                                                                           |
| 271        | The currency amount of the currency can only be an integer                                                                                                                      |
| 279        | The amount of the coin cannot exceed 3 digits after the decimal point                                                                                                           |
| 311        | You've reached the daily trade amount limit!                                                                                                                                    |
| 800        | success                                                                                                                                                                         |
| 900        | Server Error                                                                                                                                                                    |
| 900        | Incomplete request parameters                                                                                                                                                   |
| 902        | System starting                                                                                                                                                                 |
| 903        | Authentication failed                                                                                                                                                           |
| 904        | Message decryption failed                                                                                                                                                       |
| 905        | Message processing error                                                                                                                                                        |
| 906        | System processing exception                                                                                                                                                     |
| 907        | Required field is blank                                                                                                                                                         |
| 908        | Error in sending message                                                                                                                                                        |
| 909        | Message verification failed                                                                                                                                                     |
| 910        | Received successfully                                                                                                                                                           |
| 911        | System processing error                                                                                                                                                         |
| 912        | The system does not have this order data                                                                                                                                        |
| 913        | The deposit currency does not exist                                                                                                                                             |
| 914        | The receiving currency does not exist                                                                                                                                           |
| 915        | Deposit currency and receipt currency cannot be the same                                                                                                                        |
| 916        | The destination address is illegal                                                                                                                                              |
| 917        | Illegal refund address                                                                                                                                                          |
| 918        | Destination address and refund address cannot be the same                                                                                                                       |
| 919        | Illegal deposit amount                                                                                                                                                          |
| 920        | Illegal amount in received currency                                                                                                                                             |
| 921        | Deposit amount is not within the range                                                                                                                                          |
| 972        | <p>The operation is too frequent. Please try again later.<br>eg: Placing consecutive orders of the same cryptocurrency amount without depositing funds will be intercepted.</p> |
| 1145       | Address or IP at risk                                                                                                                                                           |
| 1146       | The destination address is not authorized                                                                                                                                       |
| 1147       | You have reached the daily upper limit for $Cube. The swap is temporarily unavailable.                                                                                          |
| 1154       | Insufficient liquidity                                                                                                                                                          |


# Get Coin List

Provide token types list to display users, tell user which tokens can be traded

1. Url:

```
https://{host}/api/v1/queryCoinList
```

2\. Request parameter instance

| parameter   | whether | explain                                                                                                                                             |
| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| supportType | no      | Advanced: return only the currencies that support cross chain exchange, and return all currencies without transferring or transferring other values |
| mainNetwork | no      | According to the currency main search                                                                                                               |
| sourceFlag  | yes     | sourceFlag                                                                                                                                          |

3\. Example of request parameters

```
{
    "supportType":"advanced",
    "mainNetwork":"ETH",
    "sourceFlag": "xxx"
}
```

4.Example of returned results

```
{
    "data": [
        {
            "coinAllCode": "SwftCoin",
            "coinCode": "SWFTC",
            "coinDecimal": 8,
            "contact": "0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e",
            "isSupportAdvanced": "Y",
            "isSupportMemo": "N",
            "mainNetwork": "ETH",
            "noSupportCoin": "BOS,YOYO,..."
        },
        {
            "coinAllCode": "TetherUS",
            "coinCode": "USDT",
            "coinDecimal": 6,
            "contact": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "isSupportAdvanced": "Y",
            "isSupportMemo": "N",
            "mainNetwork": "BTC",
            "noSupportCoin": "BCC,UCTT,..."
        }
    ],
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}
```

5.Return Parameter Description

<table><thead><tr><th width="197">Field Name  </th><th width="187">Field  </th><th width="84">Type  </th><th width="290">Remarks</th></tr></thead><tbody><tr><td>coinAllCode</td><td>coinAllCode</td><td>String</td><td>Bitcoin</td></tr><tr><td>coinCode</td><td>coinCode</td><td>String</td><td>BTC</td></tr><tr><td>coin decimal</td><td>coinDecimal</td><td>String</td><td>8</td></tr><tr><td>contact </td><td>contact </td><td>String</td><td>This field has a value only when the currency belongs to a token on a primary chain</td></tr><tr><td>isSupportAdvanced</td><td>isSupportAdvanced</td><td>String</td><td>Y:  supported. N: no supported</td></tr><tr><td>isSupportMemo</td><td>isSupportMemo</td><td>String</td><td>Y:  supported. N: no supported</td></tr><tr><td>mainNetwork</td><td>mainNetwork</td><td>String</td><td>For example, if SWFTC is the token on Ethereum, mainNetwork is ETH</td></tr><tr><td>noSupportCoin</td><td>noSupportCoin</td><td>String</td><td>If there are multiple unsupported currencies, separate them with ','. For example: "noSupportCoin":"TKT,SHE,AIDOC"</td></tr></tbody></table>

### &#x20;Code example <a href="#code-example" id="code-example"></a>

#### &#x20;java code exampl&#x65;**：** <a href="#java-code-example" id="java-code-example"></a>

```java
OkHttpClient client = new OkHttpClient();
  ​
  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\"supportType\":\"advanced\"}");
  Request request = new Request.Builder()
    .url("https://{host}/api/v1/queryCoinList")
    .post(body)
    .addHeader("Content-Type", "application/json")
    .addHeader("cache-control", "no-cache")
    .build();
  ​
  Response response = client.newCall(request).execute();
```

**Nodejs** **code example**

```javascript
   //getToken example 
   import axios from 'axios'
   const params = {
      supportType: 'advanced',
    }
   const res = await axios.post('https://{host}/api/v1/queryCoinList', params )
   console.log(res)
```

#### Postman example

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FjaIAHywDm9C7MfndmuOc%2F1646902950\(1\).png?alt=media\&token=2652b7f5-38b8-43fd-9cc6-19d83e125d16)

### **Response result example** <a href="#response-result-example" id="response-result-example"></a>

```yaml
  {
      "data": [
        {
            "coinAllCode": "Bitcoin",
            "coinCode": "BTC",
            "coinImageUrl": "/static/image/coins/bitcoin.png",
            "coinName": "比特币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "Ether",
            "coinCode": "ETH",
            "coinImageUrl": "/static/image/coins/ether.png",
            "coinName": "以太币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "EOS",
            "coinCode": "EOS",
            "coinImageUrl": "",
            "coinName": "基数链",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
        {
            "coinAllCode": "Stellar",
            "coinCode": "XLM",
            "coinImageUrl": "",
            "coinName": "Stellar",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,TCT,ICX,GAT,CK.USD,EET,ETDM,USDC,BCC,GZRO,DTO,LV,TRX,DAI,UCTT"
        },
        {
            "coinAllCode": "Litecoin",
            "coinCode": "LTC",
            "coinImageUrl": "/static/image/coins/litecoin.png",
            "coinName": "莱特币",
            "contact": "",
            "isSupportAdvanced": "Y",
            "mainNetwork": "",
            "noSupportCoin": "BCC,SAN,ICX,EET,ETDM,BCC,GZRO,DTO,UCTT"
        },
          ...
      ],
      "resCode": "800",
      "resMsg": "成功"
  }
```

### &#x20;Important Items:

> &#x20; For some of the tokens supported on our platform, sometimes there will be a conflict with the tokens supported by other platforms or have different names for the token. In order to avoid sending the wrong token, you should used the names specifed in the fields `mainNetwork`and `contact`\`, currently the platform supports **ETH, BSC,HECO,MATIC,OEC,TRON,EOS,XRP,** etc. mainnet's tokens.&#x20;


# Get Fee Rates

### Call frequency limit <a href="#id-1-call-frequency-limit" id="id-1-call-frequency-limit"></a>

> &#x20;Provide the trade rate between two tokens, the trade rate update rate is 5-10s​

1. Url:

```
https://{host}/api/v1/getBaseInfo
```

2\. Request parameter instance

| parameter       | whether | explain                                    |
| --------------- | ------- | ------------------------------------------ |
| depositCoinCode | Yes     | BTC                                        |
| receiveCoinCode | Yes     | ETH                                        |
| depositCoinAmt  | Yes     | depositCoinAmt                             |
| sourceFlag      | Yes     | sourceFlag                                 |
| fixedRate       | No      | Whether to use a fixed exchange rate (Y/N) |

3\. Example of request parameters

```
{
    "depositCoinCode":"ETH",
    "receiveCoinCode":"BNB(BSC)",
    "depositCoinAmt":"1.5",
    "sourceFlag": "xxx",
    "fixedRate": "N"
}
```

4.Example of returned results

```
{
    "data": {
        "chainFee": "0.001",
        "depositCoinFeeRate": "0.002",
        "depositMax": "14",
        "depositMin": "0.038603",
        "instantRate": "6.875775974236",
        "burnRate": "0",
        "isSupportNoGas": true //Does it support gas free redemption
        "isSupport": true //Whether or not to support exchange
    },
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}
```

5.Return Parameter Description

| Field Name                          | field              | data type | remarks                                                                                |
| ----------------------------------- | ------------------ | --------- | -------------------------------------------------------------------------------------- |
| instantRate                         | instantRate        | String    | "Exchange rate of received currency/deposited currency accurate to ten decimal places" |
| depositMin                          | cdepositMin        | String    | Accurate to six decimal places                                                         |
| depositMax                          | depositMax         | String    | BitcoiAccurate to six decimal places                                                   |
| depositCoinFeeRate                  | depositCoinFeeRate | String    | Accurate to six decimal places                                                         |
| chainFee                            | chainFee           | String    | Accurate to six decimal places                                                         |
| burnRate                            | burnRate           | String    | Default 0                                                                              |
| Does it support gas free redemption | isSupportNoGas     | Boolean   | true/false                                                                             |
| Whether or not to support exchange  | isSupport          | Boolean   | true/false                                                                             |

### Code Example <a href="#id-3-code-example" id="id-3-code-example"></a>

#### java code example <a href="#java-code-example" id="java-code-example"></a>

```java
OkHttpClient client = new OkHttpClient();
  ​
  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\"depositCoinCode\":\"BTC\",\"receiveCoinCode\":\"ETH\"}");
  Request request = new Request.Builder()
    .url("https://{host}/api/v1/getBaseInfo")
    .post(body)
    .addHeader("Content-Type", "application/json")
    .addHeader("cache-control", "no-cache")
    .build();
  ​
  Response response = client.newCall(request).execute();
```

#### C# code example <a href="#c-code-example" id="c-code-example"></a>

```csharp
var client = new RestClient("https://{host}/api/v1/getBaseInfo");
  var request = new RestRequest(Method.POST);
  request.AddHeader("cache-control", "no-cache");
  request.AddHeader("Content-Type", "application/json");
  request.AddParameter("undefined", "{\"depositCoinCode\":\"BTC\",\"receiveCoinCode\":\"ETH\"}", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);
```

#### &#x20;**Objective-C** code example <a href="#objective-c-code-example" id="objective-c-code-example"></a>

```objectivec
#import <Foundation/Foundation.h>
  ​
  NSDictionary *headers = @{ @"Content-Type": @"application/json",
                             @"cache-control": @"no-cache" };
  NSDictionary *parameters = @{ @"depositCoinCode": @"BTC",
                                @"receiveCoinCode": @"ETH" };
  ​
  NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
  ​
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{host}/api/v1/getBaseInfo"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"POST"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];
  ​
  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ​
```

​

#### &#x20;**Nodejs** code example <a href="#nodejs-code-example" id="nodejs-code-example"></a>

<pre class="language-javascript"><code class="lang-javascript">  //getToken example 
<strong>  import axios from 'axios'
</strong>  const params = {
     depositCoinCode: 'ETH', 
     receiveCoinCode: 'BNB(BSC)', 
  }
<strong>  const res = await axios.post('https://{host}/api/v1/getBaseInfo', params )
</strong>  console.log(res)
</code></pre>

#### ​Postman example

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FLBeq0zIqcKiHd5LUtKhX%2F1646905116\(2\).png?alt=media\&token=bff97586-fd06-450f-8ab4-229cbc5c625e)

### **Response result example** <a href="#id-4-response-result-example" id="id-4-response-result-example"></a>

```yaml
  {
    "data": {
        "depositMax": "1692690",
        "depositMin": "169269",
        "instantRate": "0.000000538438",
        "minerFee": "0.00004368",
        "receiveCoinFee": "0.009328",
        "burnRate": "0",
        "isSupportNoGas": true //Does it support gas free redemption

    },
    "resCode": "800",
    "resMsg": "成功"
}
```

​

| Parameter      | Explanation                                                                                                                                                                                                                                                                                                                                |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| minerFee       | This value is for deposited tokens that utilize SWFTC for the exchange fee, SWFTC `exchange fee = deposited amount * minerFee`                                                                                                                                                                                                             |
| receiveCoinFee | This value is the amount of network fee deducted after successful transfer, the units are displayed in the token type the user is receiving/buying, this can be used to calculate the approximate amount of tokens that the user will receive, or it will be used to display the amount of network fees deducted to complete the transfer. |

**Important Items：**

> &#x20;For advanced trading, user's fee method is the deposited tokens, not SWFTC, therefore parameter "minerFee" can be ignored, the transaction fee is fixed at 0.3% (ex.: if depositing 0.1 BTC, the actual amount deducted is 0.0003btc as the transfer's transaction fee, when actually exchange, only 0.0997btc will be transferred)


# Create Order

### Call frequency limit <a href="#id-1-call-frequency-limit" id="id-1-call-frequency-limit"></a>

> **Rate Limit: 10 requests per 2 seconds**​

1. Url:

```
https://{host}/api/v2/accountExchange
```

2\. Request parameter instance

<table data-search="false"><thead><tr><th width="159.6666259765625">parameter</th><th width="202.666748046875">whether </th><th> explain</th></tr></thead><tbody><tr><td>depositCoinCode</td><td>Yes</td><td>eg：ETH<br>When this field has values, fromChainId and fromTokenAddress do not need to be filled in</td></tr><tr><td>fromChainId</td><td>When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode'</td><td>eg：1<br>Fill in the chain ID here。</td></tr><tr><td>fromTokenAddress</td><td>When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode'</td><td><p>eg：0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee。<br></p><p>Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'</p></td></tr><tr><td>receiveCoinCode</td><td>Yes</td><td>eg：BTC<br>When this field has values,'toChainId' and 'toTokenAddress' do not need to be filled in</td></tr><tr><td>toChainId</td><td>When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode'</td><td>eg: 56<br>Fill in the chain ID here。</td></tr><tr><td>toTokenAddress</td><td>When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode'</td><td>eg: 0x55d398326f99059ff775485246999027b3197955<br><br>Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'</td></tr><tr><td>depositCoinAmt</td><td>Yes</td><td>eg：0.01</td></tr><tr><td>receiveCoinAmr</td><td>Yes</td><td>Expected acceptance</td></tr><tr><td>destinationAddr</td><td>Yes</td><td>"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"</td></tr><tr><td>refundAddr</td><td>Yes</td><td>"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please tell them to put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"</td></tr><tr><td>equipmentNo</td><td>Yes</td><td>Device Unique ID (Serial Number). If unavailable, please fill in the coin refund address. This field is required when querying order status or order history, and must correspond to the current query.</td></tr><tr><td>sourceType</td><td>Yes</td><td>Enter only ANDROID, IOS, or H5, depending on your application. This field is utilized in the query order status and query order records interfaces.</td></tr><tr><td>sourceFlag</td><td>Yes</td><td>It is used to identify which platform created the order. It needs to be set through negotiation with us</td></tr><tr><td>slippage</td><td>No</td><td>slippage (System default is 0.05)<br>Decimal number<br>0.01 = 1%</td></tr><tr><td>fixedRate</td><td>No</td><td>Place order using fixed exchange rate (the received quantity will not change after placing the order) (Y/N)</td></tr></tbody></table>

3\. Example of request parameters

```
{
    "depositCoinCode": "ETHF",
    "receiveCoinCode": "USDT(BSC)",
    "depositCoinAmt": "42.207403",
    "receiveCoinAmt": "46.367529",
    "destinationAddr": "0x19b9918f...f85ad08ba0",
    "refundAddr": "0x19b9918f...f85ad08ba0",
    "equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
    "sourceType": "H5",
    "sourceFlag":"widget",
    "slippage": "0.02",
    "fixedRate": "N"
}
or
{
    "fromChainId": 513100,
    "fromTokenAddress": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
    "toChainId": 56,
    "toTokenAddress": "0x55d398326f99059ff775485246999027b3197955",
    "depositCoinAmt": "42.207403",
    "receiveCoinAmt": "46.367529",
    "destinationAddr": "0x19b9918f...f85ad08ba0",
    "refundAddr": "0x19b9918f...f85ad08ba0",
    "equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
    "sourceType": "H5",
    "sourceFlag":"widget",
    "slippage": "0.02",
    "fixedRate": "N"
}
```

4.Example of returned results

```
{
    "data": {
        "chainFee": "0.001",
        "createTime": "2022-03-10 18:44:21",
        "dealFinishTime": null,
        "depositCoinAmt": "2",
        "depositCoinCode": "ETH",
        "depositCoinFeeAmt": "0.004",
        "depositCoinFeeRate": "0.002",
        "depositCoinState": "wait_send",
        "depositFeeRate": "0.002",
        "depositTxid": "",
        "destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "detailState": "wait_deposit_send",
        "instantRate": "6.856554564172",
        "kycUrl": "",
        "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
        "orderState": "wait_deposits",
        "platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",
        "receiveCoinAmt": "13.713109",
        "receiveCoinCode": "BNB(BSC)",
        "receiveSwftAmt": "2416.89",
        "refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "refundCoinAmt": "",
        "refundDepositTxid": "",
        "refundSwftAmt": "",
        "swftCoinFeeRate": "0.001",
        "swftCoinState": "",
        "swftReceiveAddr": "",
        "swftRefundAddr": "",
        "transactionId": "",
    },
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}
```

5.Return Parameter Description

| Field Name         | field              | data type | remarks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------ | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| cinsorderId        | orderId            | String    | eg：d47e8b9b-c17f-432b-9285-a46c0a3ceb9a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| depositCoinCode    | depositCoinCode    | String    | eg: ETH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| receiveCoinCode    | receiveCoinCode    | String    | Biteg：BTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| depositCoinAmt     | depositCoinAmt     | String    | eg：1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| receiveCoinAmt     | receiveCoinAmt     | String    | eg：0.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| platformAddr       | platformAddr       | String    | eg：123123123-232-1231232                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| destinationAddr    | destinationAddr    | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY. If there are memos, please put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundAddr         | refundAddr         | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| depositCoinFeeRate | depositCoinFeeRate | String    | Eg: Handling rate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| depositCoinFeeAmt  | depositCoinFeeAmt  | String    | Eg: The amount of original currency charged for handling charges                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundCoinAmt      | refundCoinAmt      | String    | eg:0.98                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| transactionId      | transactionId      | String    | On chain transaction ID, this field will have a value only after the exchange is completed and the currency has been issued                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| refundDepositTxid  | refundDepositTxid  | String    | On chain transaction ID, this field will have a value only after the currency has been returned in case of exchange failure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| detailState        | detailState        | String    | (1)wait\_ deposit\_ Send: waiting for the deposit to be sent (2) timeout: timeout; (3)wait\_ exchange\_ Push: wait for the exchange information to be pushed; (4)wait\_ exchange\_ Return: Wait for the exchange information to return; (5.1)wait\_ receive\_ Send: Wait for sending the received currency, wait\_ receive\_ Confirm: wait for confirmation of the received currency, receive\_ Complete: Confirm receipt currency (5.2)wait\_ refund\_ Send: Wait for sending the returned original currency, wait\_ refund\_ Confirm: wait for confirmation of returning original currency, refresh\_ Complete: Confirm the return of original currency; (6) ERROR/error: Processing order (7) WAIT\_ KYC: Wait for KYC or contact customer service to provide a link“ |
| kycUrl             | kycUrl             | String    | <p>The reply time is 311 hours. Please leave a message.</p><p><https://swap.swftcoin.com/swft-v3/swft-v3-m/kyc/kyc.html?lang=cn&#x26;equipmentNo=pls_input_your_real_equipmentno_ok></p><p>New equipment manual number (reference), Lang language: CN, EN</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### **Request Parameter Precautions** <a href="#id-3-request-parameter-precautions" id="id-3-request-parameter-precautions"></a>

| Parameter      | Explanation                                                                                                                                                                                                                                                                                                                                                                       |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| depositCoinAmt | After users create an order, must send depositCoinAmt to the order address.                                                                                                                                                                                                                                                                                                       |
| receiveCoinAmt | `receiveCoinAmt = depositCoinAmt * instantRate` the rate is obtained through the getBaseInfo port, this value is used to record the market price when the order is submitted, precision is maintained to 6 decimal places                                                                                                                                                         |
| equipmentNo    | Environment number, this can be used to check numbers associted with all of the order's information, please do not disclose                                                                                                                                                                                                                                                       |
| sourceFlag     | Used to indicate which platform's order, the paramater isn't necesary the same sources originally indicated after the project's product comes online                                                                                                                                                                                                                              |
| developerId    | Used to record the project's related order data, the project can use this paramater to express what the order is part of a particular user or is used to record its own system's order number, or another record number serial number; after the order is created, the parameter value will be returned (SWFT does not support checking order information through this paramater) |

​

#### 6.​Postman example

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2F3hmAmWnVP9GHOTi4ZDgL%2FcreateOrder.png?alt=media\&token=d01e6279-950b-4720-9e96-57b4fa1c9d0f)


# Upload Transaction Hash

**1. Request Url**

`https://{host}/api/v2/modifyTxId`

**2. Request Param**

| Parameter name | Is it necessary | description              |
| -------------- | --------------- | ------------------------ |
| orderId        | Y               | transaction order number |
| depositTxid    | Y               | transaction hash value   |

**3.Request Example**

```
{
    "orderId": "33120af8-1866-4cb6-99a8-2c303f490c2c",           
    "depositTxid": "0x123"      
}
```

**4.Response Data**

```
{
    "resCode": "800",
    "resMsg": "成功",
    "data": "SUCCESS"
}
```


# Upload Multiple Transaction Hash

**1. Request Url**

`https://{host}/api/v2/batchModifyTxId`

**2. Request Param**

| Parameter name | Is it necessary | description                                     |
| -------------- | --------------- | ----------------------------------------------- |
| modifyTxIdList | Y               | Transaction information collection (up to 1000) |
| orderId        | Y               | transaction order number                        |
| depositTxid    | Y               | transaction hash value                          |

**3.Request Example**

```
{
  "modifyTxIdList": [
    {
      "orderId": "33434232-1556-yt6g-99a8-2c303f490c2c",
      "depositTxid": "0x643ccccccccccccccc4c4"
    },
    {
      "orderId": "33120af8-1866-4cb6-99a8-2c303f490c2c",
      "depositTxid": "0x123aaaaaaaaaaaaaaaaa6"
    }
  ]
}
```

**4.Response Data**

```
{
    "resCode": "800",
    "resMsg": "成功",
    "data": {
        "successNum": 1, // Number of successfully uploaded orders
        "failIds": [     // The set of order ids that failed to be uploaded, the reason for the failure: the order already has a hash, and the uploaded hash is not standardized
            "1"
        ]
    }
}
```


# Check order status

1. Request Url:

```
https://{host}/api/v2/queryOrderState
```

2\. Request parameter instance

| parameter   | whether | explain                                     |
| ----------- | ------- | ------------------------------------------- |
| equipmentNo | Yes     | Equipment unique number                     |
| sourceType  | Yes     | eg：ANDROID,IOS,H5                           |
| orderId     | Yes     | eg：0eg：1fc8499f-dd6d-4ff3-8b7f-7a0d74c59adc |

3\. Example of request parameters

```
{
    "equipmentNo":"SFjeigreEIFegjieFei",
    "sourceType":"H5",
    "orderId":"9d4a577d-fdb1-466c-8da2-a5ad3553260b"
}
```

4.Example of returned results

```
{
    "data": {
        "chainFee": "0.001",
        "changeType": "advanced",
        "choiseFeeType": "3",
        "completeTime": null,
        "createTime": "2022-03-10 18:44:21",
        "dealFinishTime": null,
        "dealReceiveCoinAmt": "",
        "depositCoinAmt": "2",
        "depositCoinCode": "ETH",
        "depositCoinFeeAmt": "0.004",
        "depositCoinFeeRate": "0.002",
        "depositCoinState": "wait_send",
        "depositHashExplore": "https://etherscan.io/tx/null",
        "depositTxid": "",
        "destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "detailState": "wait_deposit_send",
        "instantRate": "6.874588522739",
        "isDiscount": "N",
        "isNft": "",
        "kycUrl": "",
        "nftUrl": "",
        "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
        "orderState": "wait_deposits",
        "payTokenUrl": "",
        "platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",
        "receiveCoinAmt": "13.713109",
        "receiveCoinCode": "BNB(BSC)",
        "receiveHashExplore": "https://bscscan.com/tx/",
        "receiveSwftAmt": "2416.89",
        "refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "refundCoinAmt": "",
        "refundCoinMinerFee": "",
        "refundDepositTxid": "",
        "refundHashExplore": "https://etherscan.io/tx/",
        "refundSwftAmt": "",
        "router": {},
        "swftCoinFeeRate": "0.001",
        "swftCoinState": "",
        "swftReceiveAddr": "",
        "swftRefundAddr": "",
        "timeoutShowPlatformAddr": "N",
        "tradeState": "",
        "transactionId": "",
        "burnRate": "0",
        "refundReason": ""
    },
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}
```

5.Return Parameter Description

| Field Name                                 | field              | data type | remarks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------------ | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| orderId                                    | orderId            | String    | eg：d47e8b9b-c17f-432b-9285-a46c0a3ceb9a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| depositCoinCode                            | depositCoinCode    | String    | eg：ETH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| receiveCoinCode                            | receiveCoinCode    | String    | eg：BTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| depositCoinAmt                             | depositCoinAmt     | String    | eg：1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| receiveCoinAmt                             | receiveCoinAmt     | String    | eg：0.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| platformAddr                               | platformAddr       | String    | eg：123123123-232-1231232                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| destinationAddr                            | destinationAddr    | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY. If there are memos, please put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundAddr                                 | refundAddr         | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| depositCoinFeeRate                         | depositCoinFeeRate | String    | Eg: Handling rate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| depositCoinFeeAmt                          | depositCoinFeeAmt  | String    | Eg: The amount of original currency charged for handling charges                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundCoinAmt                              | refundCoinAmt      | String    | eg: 0.98                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| transactionId                              | transactionId      | String    | On chain transaction ID, this field will have a value only after the exchange is completed and the currency has been issued                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| refundDepositTxid                          | refundDepositTxid  | String    | On chain transaction ID, this field will have a value only after the currency has been returned in case of exchange failure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| detailState                                | detailState        | String    | "(1) wait\_deposit\_send: waiting for the deposit currency to be sent; (2) timeout: timeout; (3) wait\_exchange\_push: waiting for the exchange information to be pushed; (4) wait\_exchange\_return: waiting for the exchange information to be returned; (5.1) wait\_receive\_send: waiting for the receipt currency to be sent; wait\_receive\_confirm: waiting for the receipt currency to be confirmed; receive\_complete: waiting for the receipt currency to be confirmed. (5.2) wait\_ refund\_ Send: Wait for sending the returned original currency, wait\_ refund\_ Confirm: wait for confirmation of returning original currency, refresh\_ Complete: Confirm the return of original currency; (6) ERROR/error: Processing order (7) WAIT\_ KYC: Wait for KYC or contact customer service to provide a link“ |
| dealReceiveCoinAmt                         | dealReceiveCoinAmt | String    | The quantity obtained from the actual exchange. When the exchange is not completed, the value is an empty string                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| completeTime                               | completeTime       | String    | Time when the order is issued or returned (UTC+8)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| burnRate                                   | burnRate           | String    | Default 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| createTime                                 | createTime         | String    | createTime                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Completion time                            | dealFinishTime     | String    | Completion time                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| depositCoinState                           | depositCoinState   | String    | wait\_send、wait\_confirm:、already\_confirm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| depositTxid                                | depositTxid        | String    | depositTxid                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| swftAmt                                    | receiveSwftAmt     | String    | swftAmt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| swftRate                                   | swftCoinFeeRate    | String    | swftRate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| gas fee after the exchange is completed.   | chainFee           | String    | gas fee after the exchange is completed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Exchange type                              | changeType         | String    | Exchange type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Kyc path that exceeds the quota of the day | kycUrl             | String    | Kyc path that exceeds the quota of the day                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Reasons for refund of coins                | refundReason       | String    | <p>Returns the information below corresponding to the number. </p><p>1 illiquidity (default). 2 Amount error </p><p>3 kyc excess. </p><p>4 address blacklist. 5 goal chain</p><p>maintenance</p><p>6 The amount of redemption is not within the range<br>7 Deposit timeout<br>8 Interacting with risky addresses</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

### Request Parameter Precautions <a href="#id-2-request-parameter-precautions" id="id-2-request-parameter-precautions"></a>

| Parameter   | Explanation                                                                                                                 |
| ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| equipmentNo | Environment number, this can be used to check numbers associted with all of the order's information, please do not disclose |

### **Code Example** <a href="#id-3-code-example" id="id-3-code-example"></a>

#### java code example <a href="#java-code-example" id="java-code-example"></a>

```java
OkHttpClient client = new OkHttpClient();
  ​
  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\n    \"equipmentNo\": \"Zasdf352943090468518\",\n   \n    \"sourceType\": \"ANDROID\",\n\n    \"orderId\": \"de752da3-0ff7-4682-8038-d8e1f20cad95\"\n}");
  Request request = new Request.Builder()
    .url("https://{host}/api/v2/queryOrderState")
    .post(body)
    .addHeader("Content-Type", "application/json")
    .addHeader("cache-control", "no-cache")
    .build();
  ​
  Response response = client.newCall(request).execute();
```

​

#### &#x20;**C#** code example <a href="#c-code-example" id="c-code-example"></a>

```csharp
var client = new RestClient("https://{host}/api/v2/queryOrderState");
  var request = new RestRequest(Method.POST);
  request.AddHeader("cache-control", "no-cache");
  request.AddHeader("Content-Type", "application/json");
  request.AddParameter("undefined", "{\n    \"equipmentNo\": \"Zasdf352943090468518\",\n   \n    \"sourceType\": \"ANDROID\",\n\n    \"orderId\": \"de752da3-0ff7-4682-8038-d8e1f20cad95\"\n}", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);
```

​

#### &#x20;**Objective-C** code example <a href="#objective-c-code-example" id="objective-c-code-example"></a>

```objectivec
#import <Foundation/Foundation.h>
  ​
  NSDictionary *headers = @{ @"Content-Type": @"application/json",
                             @"cache-control": @"no-cache" };
  NSDictionary *parameters = @{ @"equipmentNo": @"Zasdf352943090468518",
                                @"sourceType": @"ANDROID",
                                @"orderId": @"de752da3-0ff7-4682-8038-d8e1f20cad95" };
  ​
  NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
  ​
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{host}/api/v2/queryOrderState"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"POST"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];
  ​
  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
```

​

#### &#x20;**Nodejs** code example <a href="#nodejs-code-example" id="nodejs-code-example"></a>

```javascript
//getToken example 
import axios from 'axios'
const params = {
   equipmentNo:"zfgryh918f93a19fdg6918a68cf5",
   sourceType:"H5",
   userNo:"",
   sessionUuid:"",
   orderId:"9d4a577d-fdb1-466c-8da2-a5ad3553260b",
   sourceFlag:"widget"
}
const res = await axios.post('https://{host}/api/v2/queryOrderState', params )
console.log(res)
```

#### ​Postman example

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FeklSx77q13kloJwNVRnt%2F1646913411\(4\).png?alt=media\&token=e7d09151-45f5-4add-a41e-636b046e2442)

### **Response result example** <a href="#id-4-response-result-example" id="id-4-response-result-example"></a>

```yaml
{
      "data": {
          "changeType": "advanced",
          "choiseFeeType": "3",
          "dealReceiveCoinAmt": "10.513615",
          "depositCoinAmt": "0.276",
          "depositCoinCode": "ETH",
          "depositCoinFeeAmt": "0.000276",
          "depositCoinFeeRate": "0.001",
          "depositCoinState": "already_confirm",
          "destinationAddr": "loveqyw12345",
          "detailState": "receive_complete",
          "orderId": "de752da3-0ff7-4682-8038-d8e1f20cad95",
          "orderState": "wait_send",
          "platformAddr": "0x6e76d9e78b6f4878fbe83e6985185173373f0b7e",
          "receiveCoinAmt": "10.403011",
          "receiveCoinCode": "EOS",
          "receiveSwftAmt": "14.06",
          "refundAddr": "0x189547cb7984711c2ab25b1543a784e65628a8f6",
          "refundCoinAmt": "",
          "refundCoinMinerFee": "",
          "refundDepositTxid": "",
          "refundSwftAmt": "",
          "swftCoinFeeRate": "0.0005",
          "swftCoinState": "",
          "swftReceiveAddr": "",
          "swftRefundAddr": "",
          "tradeState": "",
          "transactionId": "072a7915ac9de0e64d5131afde8f61e1cdf0cf517ffa3f8db2f2d26bf208b658",
          "burnRate": "0"
          "refundReason": ""
      },
      "resCode": "800",
      "resMsg": "成功"
  }
```


# Check Multiple order status

#### 1. Request Url

```
https://{host}/api/v2/batchQueryOrderState
```

#### 2. Request parameter instance

| parameter | whether | explain                                     |
| --------- | ------- | ------------------------------------------- |
| orderIds  | Yes     | The maximum limit of json array is 200items |

#### 3. Example of request parameters

```
{
    //Maximum limit 200 order numbers exceeding the limit will only intercept the first 200 pieces of data
    "orderIds": [
        "655bce95-577e-4930-bb9e-3f82bc6e57e7",
        "33120af8-1866-4cb6-99a8-2c303f490c2c",
        "de746e9c-4e6a-4615-8413-6b224fac439e",
        "9b8ccde9-fd8f-4014-a77b-ed757a3bb25a",
        "2f2e219f-c7af-4fc3-ad01-973a5f10d293",
        "edeafba6-e493-4b7f-9203-71484e444d94"
    ]
}
```

#### 4.Example of returned results

```
{
    "data": {
        "chainFee": "0.001",
        "changeType": "advanced",
        "choiseFeeType": "3",
        "completeTime": null,
        "createTime": "2022-03-10 18:44:21",
        "dealFinishTime": null,
        "dealReceiveCoinAmt": "",
        "depositCoinAmt": "2",
        "depositCoinCode": "ETH",
        "depositCoinFeeAmt": "0.004",
        "depositCoinFeeRate": "0.002",
        "depositCoinState": "wait_send",
        "depositHashExplore": "https://etherscan.io/tx/null",
        "depositTxid": "",
        "destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "detailState": "wait_deposit_send",
        "instantRate": "6.874588522739",
        "isDiscount": "N",
        "isNft": "",
        "kycUrl": "",
        "nftUrl": "",
        "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
        "orderState": "wait_deposits",
        "payTokenUrl": "",
        "platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",
        "receiveCoinAmt": "13.713109",
        "receiveCoinCode": "BNB(BSC)",
        "receiveHashExplore": "https://bscscan.com/tx/",
        "receiveSwftAmt": "2416.89",
        "refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "refundCoinAmt": "",
        "refundCoinMinerFee": "",
        "refundDepositTxid": "",
        "refundHashExplore": "https://etherscan.io/tx/",
        "refundSwftAmt": "",
        "router": {},
        "swftCoinFeeRate": "0.001",
        "swftCoinState": "",
        "swftReceiveAddr": "",
        "swftRefundAddr": "",
        "timeoutShowPlatformAddr": "N",
        "tradeState": "",
        "transactionId": "",
        "burnRate": "0",
        "refundReason": ""
    },
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}
```

#### 5.Return Parameter Description

| Field Name                                 | field              | data type | remarks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------------ | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| orderId                                    | orderId            | String    | eg：d47e8b9b-c17f-432b-9285-a46c0a3ceb9a                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| depositCoinCode                            | depositCoinCode    | String    | eg：ETH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| receiveCoinCode                            | receiveCoinCode    | String    | eg：BTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| depositCoinAmt                             | depositCoinAmt     | String    | eg：1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| receiveCoinAmt                             | receiveCoinAmt     | String    | eg：0.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| platformAddr                               | platformAddr       | String    | eg：123123123-232-1231232                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| destinationAddr                            | destinationAddr    | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY. If there are memos, please put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundAddr                                 | refundAddr         | String    | "Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| depositCoinFeeRate                         | depositCoinFeeRate | String    | Eg: Handling rate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| depositCoinFeeAmt                          | depositCoinFeeAmt  | String    | Eg: The amount of original currency charged for handling charges                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| refundCoinAmt                              | refundCoinAmt      | String    | eg: 0.98                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| transactionId                              | transactionId      | String    | On chain transaction ID, this field will have a value only after the exchange is completed and the currency has been issued                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| refundDepositTxid                          | refundDepositTxid  | String    | On chain transaction ID, this field will have a value only after the currency has been returned in case of exchange failure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| detailState                                | detailState        | String    | "(1) wait\_deposit\_send: waiting for the deposit currency to be sent; (2) timeout: timeout; (3) wait\_exchange\_push: waiting for the exchange information to be pushed; (4) wait\_exchange\_return: waiting for the exchange information to be returned; (5.1) wait\_receive\_send: waiting for the receipt currency to be sent; wait\_receive\_confirm: waiting for the receipt currency to be confirmed; receive\_complete: waiting for the receipt currency to be confirmed. (5.2) wait\_ refund\_ Send: Wait for sending the returned original currency, wait\_ refund\_ Confirm: wait for confirmation of returning original currency, refresh\_ Complete: Confirm the return of original currency; (6) ERROR/error: Processing order (7) WAIT\_ KYC: Wait for KYC or contact customer service to provide a link“ |
| dealReceiveCoinAmt                         | dealReceiveCoinAmt | String    | The quantity obtained from the actual exchange. When the exchange is not completed, the value is an empty string                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| completeTime                               | completeTime       | String    | Time when the order is issued or returned (UTC+8)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| burnRate                                   | burnRate           | String    | Default 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| createTime                                 | createTime         | String    | createTime                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Completion time                            | dealFinishTime     | String    | Completion time                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| depositCoinState                           | depositCoinState   | String    | wait\_send、wait\_confirm:、already\_confirm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| depositTxid                                | depositTxid        | String    | depositTxid                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| swftAmt                                    | receiveSwftAmt     | String    | swftAmt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| swftRate                                   | swftCoinFeeRate    | String    | swftRate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| gas fee after the exchange is completed.   | chainFee           | String    | gas fee after the exchange is completed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Exchange type                              | changeType         | String    | Exchange type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Kyc path that exceeds the quota of the day | kycUrl             | String    | Kyc path that exceeds the quota of the day                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Reasons for refund of coins                | refundReason       | String    | <p>Returns the information below corresponding to the number. </p><p>1 illiquidity (default). 2 Amount error </p><p>3 kyc excess. </p><p>4 address blacklist. 5 goal chain</p><p>maintenance</p><p>6 The amount of redemption is not within the range<br>7 Deposit timeout<br>8 Interacting with risky addresses</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |


# Get Order List

1. Request Url:

```
https://{host}/api/v2/queryAllTrade
```

2\. Request parameter instance

| parameter   | whether | explain                                                                                  |
| ----------- | ------- | ---------------------------------------------------------------------------------------- |
| equipmentNo | Yes     | Equipment unique number                                                                  |
| sourceType  | Yes     | ANDROID,IOS,H5                                                                           |
| pageNo      | No      | It is used to identify which platfEg: 1, default 1: number of records displayed per page |
| pageSize    | No      | Eg: 10, default 10                                                                       |

3\. Example of request parameters

```
{
    "equipmentNo":"SFjeigreEIFegjieFei",
    "sourceType":"H5",
    "pageNo":"1",
    "pageSize":"10"
}
```

4.Example of returned results

```
{
    "data": {
        "pageContent": [
            {
                "beginDate": "2022-03-10 18:44:21",
                "chainFee": "0.001",
                "changeType": "advanced",
                "depositFeeRate": "0.002",
                "detailState": "timeout",
                "feeCoinAmt": "0.004",
                "feeCoinCode": "ETH",
                "fromCoinAmt": "2",
                "fromCoinCode": "ETH",
                "instantRate": "6.923076923076",
                "isNft": "",
                "nftUrl": "",
                "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
                "payTokenUrl": "",
                "percentChange": "",
                "router": {},
                "toCoinAmt": "13.713109",
                "toCoinCode": "BNB(BSC)",
                "tradeFlag": "",
                "tradeState": "timeout"
            },
            {
                "beginDate": "2022-03-10 18:30:36",
                "chainFee": "0.001",
                "changeType": "advanced",
                "depositFeeRate": "0.002",
                "detailState": "timeout",
                "feeCoinAmt": "0.002",
                "feeCoinCode": "ETH",
                "fromCoinAmt": "1",
                "fromCoinCode": "ETH",
                "instantRate": "6.923076923076",
                "isNft": "",
                "nftUrl": "",
                "orderId": "864ca993-8fb8-4715-aab6-cd2e87b625cb",
                "payTokenUrl": "",
                "percentChange": "",
                "router": {},
                "toCoinAmt": "6.865979",
                "toCoinCode": "BNB(BSC)",
                "tradeFlag": "",
                "tradeState": "timeout"
            }
        ],
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 2,
        "totalPage": 1
    },
    "resCode": "800",
    "resMsg": "成功",
    "resMsgEn": ""
}
```

5.Return Parameter Description

<table><thead><tr><th width="122">字段名称</th><th width="194">字段</th><th width="147">数据类型</th><th>备注</th></tr></thead><tbody><tr><td>pageNo </td><td>pageNo </td><td>String </td><td>eg：1</td></tr><tr><td>pageSize</td><td>pageSize</td><td>String </td><td>eg：10</td></tr><tr><td>totalPage</td><td>totalPage</td><td>String </td><td>eg：10</td></tr><tr><td>totalCount  </td><td>totalCount</td><td>String </td><td>eg：100</td></tr><tr><td>pageContent </td><td>pageContent </td><td>String </td><td>eg：[{name1:value1},{name1:value1},{name1:value1}]</td></tr><tr><td>fromCoinCode</td><td>fromCoinCode</td><td>String</td><td>eg：ETH</td></tr><tr><td>toCoinCode</td><td>toCoinCode</td><td>String </td><td>eg：BTC</td></tr><tr><td>fromCoinAmt </td><td>fromCoinAmt </td><td>String </td><td>eg：0.0</td></tr><tr><td>toCoinAmt</td><td>toCoinAmt</td><td> String </td><td>eg：0.14</td></tr><tr><td>beginDate </td><td>beginDate </td><td>String </td><td>eg：2017-09-08</td></tr><tr><td>feeCoinCode</td><td>feeCoinCode</td><td>String </td><td>eg：ETH</td></tr><tr><td>feeCoinAmt</td><td>feeCoinAmt</td><td>String</td><td>eg：0.0003</td></tr><tr><td>orderId </td><td>orderId </td><td>String </td><td>eg：d47e8b9b-c17f-432b-9285-a46c0a3ceb9a</td></tr><tr><td>tradeState</td><td>tradeState</td><td>String</td><td>"Wait_deposits: currency to be saved, exchange: in exchange complete: complete (successful exchange) timeout: timeout, wait_refund: failed exchange, currency to be returned, refund_complete: returned currency"</td></tr></tbody></table>

### **Code Example** <a href="#id-3-code-example" id="id-3-code-example"></a>

#### Nodejs code example

```javascript
//getToken example 
import axios from 'axios'
const params = {
    equipmentNo:"zfgryh918f93a19fdg6918a68cf5",
    sourceType:"H5",
    userNo:"",
    sessionUuid:"",
    orderId:"",
    sourceFlag:"widget",
    pageNo:1,
    pageSize:5,
    fromAddress:"0x19b9918f...f85ad08ba0"
}
const res = await axios.post('https://{host}/api/v2/queryAllTrade', params )
console.log(res)
```

**Postman example**

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FA4BFCXvf0ZmS3rXCfcF5%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=37a90836-6372-4388-a54c-30f60b0dcf8e" alt=""><figcaption></figcaption></figure>

**Response Data**

```
{
    "data": {
        "pageContent": [
            {
                "beginDate": "2022-03-10 18:44:21",
                "chainFee": "0.001",
                "changeType": "advanced",
                "depositFeeRate": "0.002",
                "detailState": "timeout",
                "feeCoinAmt": "0.004",
                "feeCoinCode": "ETH",
                "fromCoinAmt": "2",
                "fromCoinCode": "ETH",
                "instantRate": "6.923076923076",
                "isNft": "",
                "nftUrl": "",
                "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
                "payTokenUrl": "",
                "percentChange": "",
                "router": {},
                "toCoinAmt": "13.713109",
                "toCoinCode": "BNB(BSC)",
                "tradeFlag": "",
                "tradeState": "timeout"
            },
            {
                "beginDate": "2022-03-10 18:30:36",
                "chainFee": "0.001",
                "changeType": "advanced",
                "depositFeeRate": "0.002",
                "detailState": "timeout",
                "feeCoinAmt": "0.002",
                "feeCoinCode": "ETH",
                "fromCoinAmt": "1",
                "fromCoinCode": "ETH",
                "instantRate": "6.923076923076",
                "isNft": "",
                "nftUrl": "",
                "orderId": "864ca993-8fb8-4715-aab6-cd2e87b625cb",
                "payTokenUrl": "",
                "percentChange": "",
                "router": {},
                "toCoinAmt": "6.865979",
                "toCoinCode": "BNB(BSC)",
                "tradeFlag": "",
                "tradeState": "timeout"
            }
        ],
        "pageNo": 1,
        "pageSize": 10,
        "totalCount": 2,
        "totalPage": 1
    },
    "resCode": "800",
    "resMsg": "成功",
    "resMsgEn": ""
}
```


# Upload gas free orders

### Interface Call Graph

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2F0nc3M9fu7URN3MvHF8Da%2Fimage.png?alt=media\&token=710a6e19-5259-4768-9c05-ee24101a3324)

### Timing Diagram

![](https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FmdZ1DXLucP8CRbyTkICU%2Fimage.png?alt=media\&token=a454eb19-9326-4020-8cc2-69323838bdae)

### remark

1. Call the "[Get Rate Interface](/cross-chain-swap-api/obtain-exchange-rate-basic-information-port)" to obtain the return value isSupportNoGas, where Y indicates support for gas free exchange
2. Call the "[Create Order Interface](/cross-chain-swap-api/create-order)" and pass the isSupportNoGas field. If successful, the noGasTxInfo field will be returned as the call to be signed\_ Data
3. For call\_ Sign data to obtain signed data such as r, s, v, rawTransaction
4. Call the "[Upload gas free orders](/cross-chain-swap-api/upload-gas-free-orders)", pass r, s, v, rawTransaction, and the orderId returned by the "Create Order Interface" to complete the process

Step 3 Example Code

```
 const privateKey = ''; // private key
 const transactionData = '{
  gasLimit: 100000,
  data: '0xaxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  chainId: 56,
  to: '0x0000000000000xxxxx',
  nonce: 50,
  gasPrice: '3150000000'
}'
 const account = web3.eth.accounts.privateKeyToAccount(privateKey);
 const signedTx = await account.signTransaction(transactionData);
 const r = signedTx.r;
 const s = signedTx.s;
 const v = signedTx.v;
 const rawTransaction = signedTx.rawTransaction;
```

1.Request Url:

```
https://{host}/gt/swap/v1/noGasSwap
```

2\. Request parameter instance

| parameter      | whether | explain                                 |
| -------------- | ------- | --------------------------------------- |
| orderId        | Yes     | eg：5d3b383f-5b58-4a35-87b6-2de8d23a492e |
| r              | Yes     | eg：0xxxxxxx                             |
| s              | Yes     | eg：0xxxxxxx                             |
| v              | Yes     | eg: 0xxx                                |
| rawTransaction | Yes     | eg: 0xxxxxxx                            |

3\. Example of request parameters

```

{
    //orderId
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "r": "0xxxx",
    "s": "0xxxxx",
    "v": "0xxx",
    "rawTransaction": "0xxxxxxxxx"
}

```

4.Example of returned results

```
{
    "orderId": "5d3b383f-xxxx-xxxx-xxxx-2de8d23a492e",
    "transactionHash": "0xxxxxxxxxxxxxx"
}
```

5.Return Parameter Description

| field name | field           | type   | remark  |
| ---------- | --------------- | ------ | ------- |
| orderId    | orderId         | String | orderId |
| tx hash    | transactionHash | String | tx hash |

### **code** example

**java**

````
```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"orderId\": \"5d3b383f-xxx-xxx-87b6-xxx\",\n    \"r\": \"0xxxx\",\n    \"s\": \"0xxxx\",\n    \"v\": \"0xxxx\",\n    \"rawTransaction\": \"0xxxx\"\n}");
Request request = new Request.Builder()
  .url("https://www.swftc.info/gt/swap/v1/noGasSwap")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
```
````

**curl**

````
```powershell
curl --location 'https://www.swftc.info/gt/swap/v1/noGasSwap' \
--header 'Content-Type: application/json' \
--data '{
    "orderId": "5d3b383f-xxx-xxx-87b6-xxx",
    "r": "0xxxx",
    "s": "0xxxx",
    "v": "0xxxx",
    "rawTransaction": "0xxxx"
}'
```
````

#### Postman

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FpFMVW6YhFCRBd0s7U81q%2Fimage.png?alt=media&amp;token=e214d688-3081-4a33-b19b-545966e34b62" alt=""><figcaption></figcaption></figure>


# Skills


# Swap Skill

The OmniBridge Swap skill is a fast and secure cross-chain asset exchange tool powered by the OmniBridge API. It allows you to seamlessly bridge tokens across various blockchain networks.\
✨ Key Features:

• 💱 Real-Time Rates: Instantly check live exchange rates, estimated returns, and gas fees for various token pairs.\
• 🌉 Cross-Chain Swaps: Easily initiate token swaps across different networks (e.g., TRX to USDT, or ETH to BSC).\
• 🔍 Order Tracking: Monitor the real-time status and progress of your swap transactions.

```
npx skills add https://github.com/OmniBridgeCloud/omnibridge-swap-skill
```


# Page 1


# Intent


# Introduction

Intent-based transactions are instructions where users declare the desired outcome rather than specifying the exact execution steps. Traditional bridging methods require users to define a specific path: lock tokens here, mint tokens there, and wait for final confirmation. Intents completely change this model. Users simply state, “I want 100 USDT on BSC,” and a competitive network of solvers determines the best way to achieve that goal.

For users: there is no need to understand bridging, finality, or routing. They only need to express the desired outcome and can receive the result within seconds.

<figure><img src="https://2491477457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUhiTwwiqGj9wzsGZ49%2Fuploads%2FzBDytbA5rRURfwXoVsg4%2Fimage.png?alt=media&amp;token=3c04c96e-d9e5-4c20-8a6d-752cbbb0b7f4" alt=""><figcaption></figcaption></figure>


# SWAP API

The integration process for Intent Trading is the same as the general OmniBridge API integration. The only difference is that some APIs require additional request parameters. For other APIs, please refer to the interfaces described in the **Integration** section above.

### 1. Exchange Rate Query API

#### API Endpoint

```id="m5r8qs"
GET https://{host}/api/v1/getBaseInfo
```

#### Additional Request Parameter

| Parameter | Required | Description |
| --------- | -------- | ----------- |
| protocols | Yes      | `intent`    |

#### Response

The response format remains unchanged.

***

### 2. Create Order API

#### API Endpoint

```id="x7n2kp"
POST https://{host}/api/v2/accountExchange
```

#### Additional Request Parameter

| Parameter | Required | Description |
| --------- | -------- | ----------- |
| protocols | Yes      | `intent`    |

#### Response

The response format remains unchanged.


# Solver integration

## 1. Introduction

A **Solver** is a service node responsible for providing quotes and executing exchanges.

The platform will request quotes from multiple Solvers simultaneously, select the Solver with the best quote, and then the selected Solver will independently complete the exchange for that order.

***

## 2. Integration Process

A Solver needs to implement the following four APIs:

| API                                | Direction         |
| ---------------------------------- | ----------------- |
| Solver Quote API                   | Platform → Solver |
| Solver Order API                   | Platform → Solver |
| Solver Order Notification API      | Platform → Solver |
| Solver Settlement Notification API | Platform → Solver |

At the same time, the Solver needs to call the following two APIs provided by the platform:

| API                     | Direction         |
| ----------------------- | ----------------- |
| Solver Submit Order API | Solver → Platform |
| Solver Query Order API  | Solver → Platform |

## 3. Workflow

```
Platform
 │
 ├──► Request quotes from multiple Solvers
 │
 ├──► Select the best Solver
 │
 ├──► Create order
 │
 ├──► Notify Solver to create order
 │
 ▼
User deposits tokens
 │
 ▼
Platform confirms deposit
 │
 ├──► Notify Solver to start execution
 │
 ▼
Solver sends tokens to user
 │
 ├──► Submit transaction hash
 │
 ▼
Platform verifies transaction
 │
 ▼
Platform settles funds to Solver
```

***

## 4. Authentication

All Solver requests to platform APIs must include the following parameters.

(`solverCode` and `solverSecret` need to be obtained from the platform.)

| Parameter    | Description                       |
| ------------ | --------------------------------- |
| solverCode   | Solver identifier                 |
| solverSecret | Solver authentication key         |
| timestamp    | Current timestamp in milliseconds |


# Solver Quote API

The platform will send quote requests to multiple Solvers simultaneously to obtain quotations.

### 1. API Call

* **HTTP Method:** POST
* **Provider:** Solver

### 2. Request Parameters

| Parameter | Required | Description                           |
| --------- | -------- | ------------------------------------- |
| fromAmt   | Yes      | The amount the user wants to exchange |
| fromCoin  | Yes      | The token/currency the user sends     |
| toCoin    | Yes      | The token/currency the user receives  |

### 3. Request Example

```json
{
    "fromAmt": "1000000",
    "fromCoin": "USDT(BASE)",
    "toCoin": "USDT(ETH)"
}
```

### 4. Response Example

```json
{
    "data": {
        "toAmt": "999800"
    }
}
```

### 5. Response Parameters

| Parameter | Type   | Description                             |
| --------- | ------ | --------------------------------------- |
| toAmt     | String | The actual amount the user will receive |


# Solver Order Creation API

When the user confirms the exchange, the platform calls this API to create an order.

### 1. API Call

* **HTTP Method:** POST
* **Provider:** Solver

### 2. Request Parameters

| Parameter       | Required | Description                                     |
| --------------- | -------- | ----------------------------------------------- |
| intentId        | Yes      | Solver order ID                                 |
| fromAmt         | Yes      | Amount of the source token provided by the user |
| fromCoin        | Yes      | Source token/currency                           |
| toCoin          | Yes      | Target token/currency                           |
| toAmt           | Yes      | Amount the user should receive                  |
| destinationAddr | Yes      | User's receiving address                        |

### 3. Request Example

```json
{
    "intentId": "123456",
    "fromAmt": "1000000",
    "fromCoin": "USDT(BASE)",
    "toCoin": "USDT(ETH)",
    "toAmt": "999800",
    "destinationAddr": "0x123456"
}
```

### 4. Response Example

```json
{
    "data": {
        "result": "success"
    }
}
```

### 5. Response Parameters

| Parameter | Type   | Description                                              |
| --------- | ------ | -------------------------------------------------------- |
| result    | String | Returns `success` when the order is created successfully |


# Solver Order Notification API

The platform calls this API after confirming that the user's deposit has been successfully received.

### 1. API Call

* **HTTP Method:** POST
* **Provider:** Solver

### 2. Request Parameters

| Parameter | Required | Description                                              |
| --------- | -------- | -------------------------------------------------------- |
| intentId  | Yes      | Solver order ID                                          |
| status    | Yes      | Order status (`success`: successful, `timeout`: timeout) |
| fromCoin  | Yes      | Source token/currency                                    |
| toCoin    | Yes      | Target token/currency                                    |

### 3. Request Example

```json
{
    "intentId": "123456",
    "status": "success",
    "fromCoin": "USDT(BASE)",
    "toCoin": "USDT(ETH)"
}
```

### 4. Response Example

```json
{
    "data": {
        "result": "success"
    }
}
```

### 5. Response Parameters

| Parameter | Type   | Description                                                       |
| --------- | ------ | ----------------------------------------------------------------- |
| result    | String | Returns `success` when the notification is processed successfully |


# Solver Payment Notification API

The platform notifies the Solver after completing the settlement.

### 1. API Call

* **HTTP Method:** POST
* **Provider:** Solver

### 2. Request Parameters

| Parameter | Required | Description                                                      |
| --------- | -------- | ---------------------------------------------------------------- |
| intentId  | Yes      | Solver order ID                                                  |
| hash      | Yes      | Transaction hash of the transfer from the platform to the Solver |
| address   | Yes      | Solver receiving address                                         |

### 3. Request Example

```json
{
    "intentId": "10001",
    "hash": "0x123456789",
    "address": "0x123456"
}
```

### 4. Response Example

```json
{
    "data": {
        "result": "success"
    }
}
```

### 5. Response Parameters

| Parameter | Type   | Description                                                       |
| --------- | ------ | ----------------------------------------------------------------- |
| result    | String | Returns `success` when the notification is processed successfully |


# Solver Order Submission API

After the Solver completes the token transfer, it should immediately notify the platform through this API.

### 1. API Endpoint

```
POST https://{host}/gt/swap/intent/submitOrder
```

### 2. Request Parameters

| Parameter     | Required | Description                                                    |
| ------------- | -------- | -------------------------------------------------------------- |
| intentId      | Yes      | Solver order ID                                                |
| dstTxHash     | Yes      | Transaction hash of the token transfer performed by the Solver |
| solverAddress | Yes      | Solver's deposit address                                       |
| solverCode    | Yes      | Solver identifier                                              |
| solverSecret  | Yes      | Solver secret key                                              |
| timestamp     | Yes      | Timestamp (milliseconds)                                       |

### 3. Request Example

```json
{
    "intentId": "10001",
    "dstTxHash": "0x123456789",
    "solverAddress": "0x123456",
    "solverSecret": "asdfg",
    "timestamp": 1785822731000,
    "solverCode": "test"
}
```

### 4. Response Example

```json
{
    "resCode": "800",
    "resMsg": "Success",
    "data": "10001"
}
```


# Solver Order Query API

This API is used to query the status of submitted orders.

### 1. API Endpoint

```id="k9m2fs"
POST https://{host}/gt/swap/intent/queryOrder
```

### 2. Request Parameters

| Parameter    | Required | Description                        |
| ------------ | -------- | ---------------------------------- |
| pageNo       | No       | Page number                        |
| pageSize     | No       | Maximum number of records per page |
| solverCode   | Yes      | Solver identifier                  |
| solverSecret | Yes      | Solver secret key                  |
| timestamp    | Yes      | Timestamp (milliseconds)           |

### 3. Request Example

```json
{
    "pageNo": "1",
    "pageSize": "30",
    "solverSecret": "asdfg",
    "timestamp": 1785822731000,
    "solverCode": "test"
}
```

### 4. Response Example

```json
{
  "resCode": "800",
  "resMsg": "Success",
  "data": {
    "totalCount": 4,
    "pageSize": 3,
    "pageNo": 1,
    "totalPage": 2,
    "pageContent": [
      {
        "intentId": "111",
        "solverCode": "aaa",
        "solverAddress": "asdf",
        "sendCoinAmt": "8",
        "sendCoinCode": "USDC(ETH)",
        "dstTxHash": "0xe4cb9590006fa1bd99bcdf85d5546998766b4db1002ea2c67d22daf268bd9460",
        "sendTxHash": null,
        "status": "submitted",
        "createTime": "2026-06-29 19:04:04"
      },
      {
        "intentId": "112",
        "solverCode": "aaa",
        "solverAddress": "asdf",
        "sendCoinAmt": "6",
        "sendCoinCode": "USDC(ARB)",
        "dstTxHash": "0xe4cb9590006fa1bd99bcdf85d5546998766b4db1002ea2c67d22daf268bd9460",
        "sendTxHash": "0xe4cb9590006fa1bd99bcdf85d5546998766b4db1002ea2c67d22daf268bd9460",
        "status": "success",
        "createTime": "2026-06-29 19:04:04"
      }
    ]
  }
}
```

### 5. Response Parameters

| Parameter     | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| intentId      | String | Solver order ID, e.g. `111`                                                                                                                                                                                                                                                                                                                                                                               |
| solverCode    | String | Solver identifier, e.g. `aaa`                                                                                                                                                                                                                                                                                                                                                                             |
| solverAddress | String | Solver address, e.g. `0x123456`                                                                                                                                                                                                                                                                                                                                                                           |
| sendCoinAmt   | String | Amount sent to the user, e.g. `20`                                                                                                                                                                                                                                                                                                                                                                        |
| sendCoinCode  | String | Token sent to the user, e.g. `USDC(ARB)`                                                                                                                                                                                                                                                                                                                                                                  |
| dstTxHash     | String | Transaction hash of the token transfer from Solver to user, e.g. `0x123456789`                                                                                                                                                                                                                                                                                                                            |
| sendTxHash    | String | Transaction hash of the platform transfer to Solver, e.g. `0x123456789`                                                                                                                                                                                                                                                                                                                                   |
| status        | String | <p>Order status:<br><code>wait\_deposits</code>: Waiting for user deposit<br><code>submitted</code>: Solver has submitted the token transfer transaction hash<br><code>complete</code>: Completed (exchange successful)<br><code>timeout</code>: Timeout<br><code>locked</code>: User deposit received<br><code>confirm</code>: Platform has sent tokens to Solver, waiting for on-chain confirmation</p> |


# Support


# Email

support\@omnibridge.pro


