# Technical Documentation for CrossCurve API old

## Make cross-chain swap

Performing a cross-chain swap consists of 4 steps:

1. Routing construction
2. Estimating cross-chain operations
3. Forming data for the transaction
4. Sending the transaction

### 1. Routing construction <a href="#id-1.-routing-construction" id="id-1.-routing-construction"></a>

Request routing for the specified tokens and networks

Copy

```solidity
const requestRoutingParams = {
    params: {
         chainIdIn": 1, // Ethereum
         chainIdOut: 250, // Fantom
         tokenIn: "0xdac17f958d2ee523a2206206994597c13d831ec7", // USDT
         tokenOut: "0xe71286fc887189c562410af12ed521c8e58e5fa3", // s3crypto_e
         amountIn: "100000000", // 100 USDT
    },
    slippage: 1, // 1%
}

const response = await fetch('https://api.crosscurve.fi/routing/scan', {
    method: 'POST',
    body: JSON.stringify(requestRoutingParams),
    headers: {
        "Content-Type": "application/json",
    },
})

const routing = await response.json()
```

### 2. Making a route estimate <a href="#id-2.-making-a-route-estimate" id="id-2.-making-a-route-estimate"></a>

From the obtained array of routes, take the first route (which is the most profitable for swapping) and send it for estimation

Copy

```solidity
const bestRoute = routing[0]

const response = await fetch('https://api.crosscurve.fi/estimate', {
    method: 'POST',
    body: JSON.stringify(bestRoute),
    headers: {
        "Content-Type": "application/json",
    },
})

const estimate = await response.json()
```

### 3. Forming data for sending the transaction <a href="#id-3.-forming-data-for-sending-the-transaction" id="id-3.-forming-data-for-sending-the-transaction"></a>

Copy

```solidity
const txCreateParams = {
    from: '0x...', // sender
    recipient: '0x...', // recipient
    routing,
    estimate,
}

const response = await fetch('https://api.crosscurve.fi/tx/create', {
    method: 'POST',
    body: JSON.stringify(txCreateParams),
    headers: {
        "Content-Type": "application/json",
    },
})

const rawTx = await response.json()
```

### 4. Sending the transaction <a href="#id-4.-sending-the-transaction" id="id-4.-sending-the-transaction"></a>

Copy

```solidity
import { Contract, JsonRpcProvider } from 'ethers'
 
const provider = new JsonRpcProvider('RPC_URL_HERE')
const signer = new Wallet(process.env.PRIVATE_KEY, provider)

const router = new Contract(rawTx.to, [rawTx.abi], signer)

const args = [
  rawTx.args[0],
  rawTx.args[1],
  [
    rawTx.args[2].executionPrice,
    rawTx.args[2].deadline,
    rawTx.args[2].v,
    rawTx.args[2].r,
    rawTx.args[2].s,
  ],
]

const value = BigInt(rawTx.value) + BigInt(estimate.executionPrice)

const tx = await router.start(...args, { value })
const receipt = await tx.wait()
```

## Tracking cross-chain swaps

After initiating the cross-chain swap (sending the transaction), it is necessary to ensure that it reaches the destination network and is executed successfully. Each cross-chain swap involves several transactions and the number of transactions may vary depending on the operation.

For swapping two stablecoins from Network A to Network B, the route can be depicted as:

> **Chain A -----> Hubchain -----> Chain B**

Each transaction is linked with another by a unique identifier, **`requestId`**, which represents the cross-chain transition identifier and can be used to track the source status and transaction destinations.

### Searching for requestId <a href="#searching-for-requestid" id="searching-for-requestid"></a>

You can get **`requestId`** of a transaction using its hash with the Pusher API:

Copy

```solidity
const searchParams = new URLSearchParams({
search: '0x...', // transaction hash
limit: 1,
}).toString();
const response = await fetch(`https://api.crosscurve.fi/?${searchParams}`, {
method: 'GET',
})
const result = await response.json()
const details = result.result[0]
const requestId = details.requestId
TypeScript
```

### Getting details about the cross-chain transition by its requestId <a href="#getting-details-about-the-cross-chain-transition-by-its-requestid" id="getting-details-about-the-cross-chain-transition-by-its-requestid"></a>

Copy

```solidity
const response = await fetch(`https://api.crosscurve.fi/search?search=%7BhashOrReqId%7D&limit=%7Blimit%7D`, {
method: 'GET',
})
const details = await response.json()
const destination = details.destination
TypeScript
```

In the results, we are interested in the values of `destination.status` and `destination.transactionHash`. If `destination.transactionHash` is empty, this means that the transaction has not yet been executed and the request should be repeated at intervals until the hash appears.

Then there are 3 scenarios:

1. Both details.inconsistency and destination.emergency are false This scenario is considered the most correct and will occur in most cases. It means the cross-chain operation has been completed and we have the hash of the destination transaction. Now, using this hash, similarly, you can track the status of the next cross-chain transition (if there is one) and continue doing so until all cross-chain transitions are completed.
2. details.inconsistency is true This means that the destination transaction was successfully completed, but the token swap did not occur due to slippage. An intermediate result has been returned to your address in this network. The cross-chain operation is considered complete at this point.
3. The value of destination.emergency is true In this case, the destination network operation could not be executed and your tokens are stuck in the contract. To retrieve them, you need to contact support to request a refund.

## Pusher API Reference

## API Specification

<mark style="color:green;">`POST https://api.crosscurve.fi/api-docs/#/`</mark>

## Routing API

### Get possible cross-chain routes for token exchange

<mark style="color:green;">`POST https://api.crosscurve.fi/routing/scan`</mark>

**Request Body**

<table><thead><tr><th width="200">Name</th><th width="94">Type</th><th>Description</th></tr></thead><tbody><tr><td>params.chainIdIn<mark style="color:red;">*</mark></td><td>Number</td><td>chainId of the sending network</td></tr><tr><td>params.chainIdOut<mark style="color:red;">*</mark></td><td>Number</td><td>chainId of the receiving network</td></tr><tr><td>params<mark style="color:red;">*</mark></td><td>Object</td><td></td></tr><tr><td>slippage<mark style="color:red;">*</mark></td><td>Number</td><td></td></tr><tr><td>params.tokenIn<mark style="color:red;">*</mark></td><td>String</td><td>address of the token that the user is selling on the chainIdIn network</td></tr><tr><td>params.tokemOut<mark style="color:red;">*</mark></td><td>String</td><td>address of the token that the user is buying on the chainIdOut network</td></tr><tr><td>params.amountIn<mark style="color:red;">*</mark></td><td>String</td><td></td></tr></tbody></table>

```json
[
  {
    "query": {
      "params": {
        "tokenIn": "0xdac17f958d2ee523a2206206994597c13d831ec7",
        "chainIdIn": 1,
        "tokenOut": "0xe71286fC887189C562410af12eD521C8e58e5fA3",
        "chainIdOut": 250,
        "amountIn": "100000000"
      },
      "slippage": 0.5
    },
    "route": [
      {
        "type": "addLiquidity",
        "chainId": 1,
        "params": {
          "tokenIn": {
            "logos": {
              "16": "https://s2.coinmarketcap.com/static/img/coins/16x16/825.png",
              "32": "https://s2.coinmarketcap.com/static/img/coins/32x32/825.png",
              "64": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
              "128": "https://s2.coinmarketcap.com/static/img/coins/128x128/825.png",
              "200": "https://s2.coinmarketcap.com/static/img/coins/200x200/825.png"
            },
            "chainId": 1,
            "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "name": "Tether USD",
            "symbol": "USDT",
            "decimals": 6,
            "originalName": "Tether USD",
            "originalSymbol": "USDT",
            "tags": ["erc20", "stable"],
            "permittable": false,
            "permit": false
          },
          "chainIdIn": 1,
          "tokenOut": {
            "chainId": 1,
            "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
            "name": "Curve.fi USD-BTC-ETH",
            "symbol": "crv3crypto",
            "decimals": 18,
            "originalName": "Curve.fi USD-BTC-ETH",
            "originalSymbol": "crv3crypto",
            "tags": ["erc20", "curve_lp"],
            "permittable": false,
            "permit": false,
            "coins": [
              "0xdAC17F958D2ee523a2206206994597C13D831ec7",
              "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
              "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
            ]
          },
          "chainIdOut": 1,
          "amountIn": "100000000",
          "amountInWithoutSlippage": "100000000",
          "amountOut": "54972421143512185",
          "amountOutWithoutSlippage": "55248664465841392",
          "slippage": 0.5
        },
        "pool": {
          "address": "0xd51a44d3fae010294c616388b506acda1bfaae46",
          "coins": [
            "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
            "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
          ],
          "decimals": [6, 8, 18],
          "logos": {
            "16": "https://s2.coinmarketcap.com/static/img/exchanges/16x16/1063.png",
            "32": "https://s2.coinmarketcap.com/static/img/exchanges/32x32/1063.png",
            "64": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/1063.png",
            "128": "https://s2.coinmarketcap.com/static/img/exchanges/128x128/1063.png",
            "200": "https://s2.coinmarketcap.com/static/img/exchanges/200x200/1063.png"
          },
          "lp": {
            "chainId": 1,
            "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
            "name": "Curve.fi USD-BTC-ETH",
            "symbol": "crv3crypto",
            "decimals": 18,
            "originalName": "Curve.fi USD-BTC-ETH",
            "originalSymbol": "crv3crypto",
            "tags": ["erc20", "curve_lp"],
            "permittable": false,
            "permit": false,
            "coins": [
              "0xdAC17F958D2ee523a2206206994597C13D831ec7",
              "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
              "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
            ]
          }
        },
        "fees": [
          {
            "type": "eywaStableSwapFee",
            "token": {
              "logos": {
                "16": "https://s2.coinmarketcap.com/static/img/coins/16x16/825.png",
                "32": "https://s2.coinmarketcap.com/static/img/coins/32x32/825.png",
                "64": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
                "128": "https://s2.coinmarketcap.com/static/img/coins/128x128/825.png",
                "200": "https://s2.coinmarketcap.com/static/img/coins/200x200/825.png"
              },
              "chainId": 1,
              "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
              "name": "Tether USD",
              "symbol": "USDT",
              "decimals": 6,
              "originalName": "Tether USD",
              "originalSymbol": "USDT",
              "tags": ["erc20", "stable"],
              "permittable": false,
              "permit": false
            },
            "percent": "0.0654473",
            "amount": "65447"
          }
        ]
      },
      {
        "type": "bridgeIn",
        "chainId": 1,
        "params": {
          "tokenIn": {
            "chainId": 1,
            "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
            "name": "Curve.fi USD-BTC-ETH",
            "symbol": "crv3crypto",
            "decimals": 18,
            "originalName": "Curve.fi USD-BTC-ETH",
            "originalSymbol": "crv3crypto",
            "tags": ["erc20", "curve_lp"],
            "permittable": false,
            "permit": false,
            "coins": [
              "0xdAC17F958D2ee523a2206206994597C13D831ec7",
              "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
              "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
            ]
          },
          "chainIdIn": 1,
          "tokenOut": {
            "chainId": 250,
            "address": "0xe71286fC887189C562410af12eD521C8e58e5fA3",
            "name": "s3crypto_e",
            "symbol": "s3crypto_e",
            "decimals": 18,
            "originalName": "s3crypto_e",
            "originalSymbol": "s3crypto_e",
            "tags": ["erc20", "synth"],
            "permittable": false,
            "permit": false,
            "real": {
              "chainId": 1,
              "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
              "name": "Curve.fi USD-BTC-ETH",
              "symbol": "crv3crypto",
              "decimals": 18,
              "originalName": "Curve.fi USD-BTC-ETH",
              "originalSymbol": "crv3crypto",
              "tags": ["erc20", "curve_lp"],
              "permittable": false,
              "permit": false,
              "coins": [
                "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
                "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
              ]
            },
            "realToken": {
              "chainId": 1,
              "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
              "name": "Curve.fi USD-BTC-ETH",
              "symbol": "crv3crypto",
              "decimals": 18,
              "originalName": "Curve.fi USD-BTC-ETH",
              "originalSymbol": "crv3crypto",
              "tags": ["erc20", "curve_lp"],
              "permittable": false,
              "permit": false,
              "coins": [
                "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
                "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
              ]
            }
          },
          "chainIdOut": 250,
          "amountIn": "54972421143512185",
          "amountInWithoutSlippage": "55248664465841392",
          "amountOut": "54972421143512185",
          "amountOutWithoutSlippage": "55248664465841392",
          "slippage": 0.5
        },
        "fees": [
          {
            "type": "bridgeFee",
            "amount": "0",
            "percent": "0",
            "token": {
              "chainId": 250,
              "address": "0xe71286fC887189C562410af12eD521C8e58e5fA3",
              "name": "s3crypto_e",
              "symbol": "s3crypto_e",
              "decimals": 18,
              "originalName": "s3crypto_e",
              "originalSymbol": "s3crypto_e",
              "tags": ["erc20", "synth"],
              "permittable": false,
              "permit": false,
              "real": {
                "chainId": 1,
                "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
                "name": "Curve.fi USD-BTC-ETH",
                "symbol": "crv3crypto",
                "decimals": 18,
                "originalName": "Curve.fi USD-BTC-ETH",
                "originalSymbol": "crv3crypto",
                "tags": ["erc20", "curve_lp"],
                "permittable": false,
                "permit": false,
                "coins": [
                  "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                  "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
                  "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
                ]
              },
              "realToken": {
                "chainId": 1,
                "address": "0xc4ad29ba4b3c580e6d59105fff484999997675ff",
                "name": "Curve.fi USD-BTC-ETH",
                "symbol": "crv3crypto",
                "decimals": 18,
                "originalName": "Curve.fi USD-BTC-ETH",
                "originalSymbol": "crv3crypto",
                "tags": ["erc20", "curve_lp"],
                "permittable": false,
                "permit": false,
                "coins": [
                  "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                  "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
                  "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
                ]
              }
            }
          }
        ]
      }
    ],
    "amountIn": "100000000",
    "amountOut": "54972421143512185",
    "amountOutWithoutSlippage": "55248664465841392",
    "tokenInPrice": 1,
    "tokenOutPrice": 1811.0144629377985,
    "priceImpact": 0,
    "totalFee": {
      "type": "total",
      "percent": "0.07",
      "amount": 0.06545
    }
  }
]
```

## Get an estimate for cross-chain exchange

<mark style="color:green;">`POST https://api.crosscurve.fi/estimate`</mark>

**Request Body**

<table><thead><tr><th width="263">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>query<mark style="color:red;">*</mark></td><td>Object</td><td></td></tr><tr><td>query.params<mark style="color:red;">*</mark></td><td>Object</td><td></td></tr><tr><td>query.params.chainIdIn<mark style="color:red;">*</mark></td><td>Number</td><td></td></tr><tr><td>query.params.chainIdOut<mark style="color:red;">*</mark></td><td>Number</td><td></td></tr><tr><td>query.params.tokenIn<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>query.params.tokenOut<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>query.params.amountIn<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>query.slippage<mark style="color:red;">*</mark></td><td>Number</td><td></td></tr><tr><td>amountIn<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>amountInWithoutSlippage<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>amountOut<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>amountOutWithoutSlippage<mark style="color:red;">*</mark></td><td>String</td><td></td></tr><tr><td>route<mark style="color:red;">*</mark></td><td>Route</td><td></td></tr></tbody></table>

```json
{
"priceInDollars": "2.88",
"executionPrice": "1408116103514941",
"stablePrice": "0",
"workerFee": "1408116103514941",
"deadline": "1699876788",
"signature": "RiyQlohm2vpof3Nnab4cUwZ/mHey/Su"
}
```

## Formulate data for the transaction

<mark style="color:green;">`POST https://api.crosscurve.fi/tx/create`</mark>

**Request Body**

| Name                                        | Type     | Description |
| ------------------------------------------- | -------- | ----------- |
| from<mark style="color:red;">\*</mark>      | String   |             |
| recipient<mark style="color:red;">\*</mark> | String   |             |
| routing<mark style="color:red;">\*</mark>   | Routing  |             |
| estimate<mark style="color:red;">\*</mark>  | Estimate |             |

```json
{
"to": "0x9af02523431E9Ec1Cc649c75aB0322fF34cde337",
"abi": "function start(string[],bytes[],tuple(uint256,uint256,uint8,bytes32,bytes32)) payable",
"args": [
["LM", "As", "Ss", "Rs", "BU"],
[
"0x0000000000000000000000002e1ad108ff1d8c782fcbbb89aad783ac495867560000000000000000000000000000000000000000000000019274b259f6540000000000000000000000000000bd2c008c3467393c6f342a275ec8f2ccd7b4f40d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2c008c3467393c6f342a275ec8f2ccd7b4f40d",
"0x0000000000000000000000002827053d2f2c3ed312d2092e57d8537405fdfd0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054cc70a3324cac8308045d027415e4df82ee72b8000000000000000000000000000000000000000000000001906a0a6f860c0d89000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000",
"0x00000000000000000000000054cc70a3324cac8308045d027415e4df82ee72b8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da8a6f376f056f0b10980ef0756bd642bc3ecab00000000000000000000000000000000000000000000000018e421e43cc563e5a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064d09662725ddc8d01a037618906a04326b9985f0000000000000000000000000000000000000000000000000000000000000000",
"0x00000000000000000000000064d09662725ddc8d01a037618906a04326b9985fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064d09662725ddc8d01a037618906a04326b9985f0000000000000000000000000000000000000000000000000000000001b3d1dc000000000000000000000000000000000000000000000000000000000000000300000000000000000000000074aeed349f3fcae9c158504686f9304c4bbfa39a0000000000000000000000000000000000000000000000000000000000000000",
"0x00000000000000000000000074aeed349f3fcae9c158504686f9304c4bbfa39affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2c008c3467393c6f342a275ec8f2ccd7b4f40d000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
],
{
"executionPrice": "449952232019487626",
"deadline": "1698416184651",
"v": 28,
"r": "0x178afdb0baacdae7b6e0c920de67e2b981a3a8c141204f26c66f5d6d148cde0a",
"s": "0x5391489d89f6955281245896199baee4d3a983caf0af027ceb93aac62e5b743f"
}
],
"value": "0"
}
```

## Explorer API

API link: <https://api.crosscurve.fi>

Explorer: <https://explorer.eywa.fi/>

## Get information about the transaction by its hash or requestId

<mark style="color:green;">`GET https://api.crosscurve.fi/search?search={hashOrReqId}&limit={limit}`</mark>

**Query Parameters**

| Name                                     | Type   | Description                          |
| ---------------------------------------- | ------ | ------------------------------------ |
| search<mark style="color:red;">\*</mark> | String | hash or requestId of the transaction |
| limit<mark style="color:red;">\*</mark>  | String |                                      |

```json
{
"result": [
{
"requestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e",
"status": "completed",
"source": {
"chainId": "137",
"transactionHash": "0xad58de57530187afa410d3dc5356e843be0c123075a51fe38aeb46a7f0481133",
"from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"events": [
{
"args": {
"_to": "0xBf0b5D561b986809924f88099c4FF0e6BccE60c9",
"_from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"to": "0x0000000000000000000000000000000000000000",
"from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"token": "0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756",
"amount": "29000000000000000000"
},
"name": "Locked",
"topic": "0xb5f411fa3c897c9b0b6cd61852278a67e73d885610724a5610a8580d3e94cfdb",
"address": "0xBf0b5D561b986809924f88099c4FF0e6BccE60c9",
"signature": "Locked(address,uint256,address,address)"
},
{
"args": {
"lastOp": 0,
"result": 1,
"nextChainId": "250",
"nextRequestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e",
"currentChainId": "137",
"currentRequestId": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"name": "ComplexOpProcessed",
"topic": "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c",
"address": null,
"signature": "ComplexOpProcessed(uint64,bytes32,uint64,bytes32,uint8,uint8)"
},
{
"args": {
"payer": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"accountant": "0x94a365CA808029AF8db18257ecd296c16C61AC05",
"executionPrice": "449952232019487626"
},
"name": "FeePaid",
"topic": "0xbf6afbaffb3b955bebbf43430bbf8eecb8d34ff86f293f592203ab5ed79c5268",
"address": null,
"signature": "FeePaid(address,address,uint256)"
}
]
},
"destination": {
"chainId": "250",
"transactionHash": "0x6969c46c4c8b239486e309155cf75b2b4ea2d1b7a8ca8a868155546cd9ce6edf",
"to": "0x1C61f207F50acAF3b15D1DE4eb7a02f290c3eE8A",
"events": [
{
"args": {
"_to": "0x4400671b8238B5E0c7c9d7572746d236cd292845",
"_from": "0x0000000000000000000000000000000000000000",
"_value": "0"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_from": "0x0000000000000000000000000000000000000000",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x54cc70A3324cAc8308045D027415e4Df82EE72B8",
"_from": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_from": "0x64D09662725dDc8D01a037618906a04326B9985f",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"_from": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x0000000000000000000000000000000000000000",
"_from": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"to": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"from": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"token": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"amount": "28994655"
},
"name": "Burn",
"topic": "0xc489dd211b01a11cf2d73490ca466baa426e76a7811070af00cc9a2bfd322f1c",
"address": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"signature": "Burn(address,uint256,address,address)"
},
{
"args": {
"lastOp": 4,
"result": 1,
"nextChainId": "43114",
"nextRequestId": "0x5d685648f8c21405956e570d0796055dcf330e3768cfd27e1d50a5e46c9a1fae",
"currentChainId": "250",
"currentRequestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e"
},
"name": "ComplexOpProcessed",
"topic": "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c",
"address": null,
"signature": "ComplexOpProcessed(uint64,bytes32,uint64,bytes32,uint8,uint8)"
}
]
}
}
],
"total": 1
}
```

### Get details of the cross-chain transfer by requestId

<mark style="color:green;">`GET https://api.crosscurve.fi/transaction/{reqId}`</mark>

**Path Parameters**

| Name                                    | Type   | Description |
| --------------------------------------- | ------ | ----------- |
| reqId<mark style="color:red;">\*</mark> | String |             |

```json
{
"status": "completed",
"inconsistency": false,
"source": {
"chainId": "137",
"transactionHash": "0xad58de57530187afa410d3dc5356e843be0c123075a51fe38aeb46a7f0481133",
"from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"events": [
{
"args": {
"_to": "0xBf0b5D561b986809924f88099c4FF0e6BccE60c9",
"_from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"to": "0x0000000000000000000000000000000000000000",
"from": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"token": "0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756",
"amount": "29000000000000000000"
},
"name": "Locked",
"topic": "0xb5f411fa3c897c9b0b6cd61852278a67e73d885610724a5610a8580d3e94cfdb",
"address": "0xBf0b5D561b986809924f88099c4FF0e6BccE60c9",
"signature": "Locked(address,uint256,address,address)"
},
{
"args": {
"lastOp": 0,
"result": 1,
"nextChainId": "250",
"nextRequestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e",
"currentChainId": "137",
"currentRequestId": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"name": "ComplexOpProcessed",
"topic": "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c",
"address": null,
"signature": "ComplexOpProcessed(uint64,bytes32,uint64,bytes32,uint8,uint8)"
},
{
"args": {
"payer": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"accountant": "0x94a365CA808029AF8db18257ecd296c16C61AC05",
"executionPrice": "449952232019487626"
},
"name": "FeePaid",
"topic": "0xbf6afbaffb3b955bebbf43430bbf8eecb8d34ff86f293f592203ab5ed79c5268",
"address": null,
"signature": "FeePaid(address,address,uint256)"
}
],
"status": "completed"
},
"oracle": {
"relayChainId": "137",
"requestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e",
"status": "completed",
"height": "3942",
"epoch": 4,
"time": "2023-10-27T14:13:45.949Z"
},
"destination": {
"chainId": "250",
"transactionHash": "0x6969c46c4c8b239486e309155cf75b2b4ea2d1b7a8ca8a868155546cd9ce6edf",
"to": "0x1C61f207F50acAF3b15D1DE4eb7a02f290c3eE8A",
"events": [
{
"args": {
"_to": "0x4400671b8238B5E0c7c9d7572746d236cd292845",
"_from": "0x0000000000000000000000000000000000000000",
"_value": "0"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_from": "0x0000000000000000000000000000000000000000",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x54cc70A3324cAc8308045D027415e4Df82EE72B8",
"_from": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_value": "29000000000000000000"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x2827053d2F2c3ED312d2092e57D8537405fdFd0f",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_from": "0x64D09662725dDc8D01a037618906a04326B9985f",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"_from": "0x14F98dcf918a451a15f3A11d824C65906bDDc296",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"_to": "0x0000000000000000000000000000000000000000",
"_from": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"_value": "28994655"
},
"name": "Transfer",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"address": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"signature": "Transfer(address,address,uint256)"
},
{
"args": {
"to": "0xBD2c008C3467393C6F342A275EC8F2Ccd7B4F40D",
"from": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"token": "0x74aEeD349F3Fcae9C158504686f9304C4Bbfa39A",
"amount": "28994655"
},
"name": "Burn",
"topic": "0xc489dd211b01a11cf2d73490ca466baa426e76a7811070af00cc9a2bfd322f1c",
"address": "0x530aF883f135F135BE12A69DC33296fb8149f593",
"signature": "Burn(address,uint256,address,address)"
},
{
"args": {
"lastOp": 4,
"result": 1,
"nextChainId": "43114",
"nextRequestId": "0x5d685648f8c21405956e570d0796055dcf330e3768cfd27e1d50a5e46c9a1fae",
"currentChainId": "250",
"currentRequestId": "0x5173910105f8c526ed1dbbac0dc3e0d1efd9b18b83f56d460a7a3dd09d4d198e"
},
"name": "ComplexOpProcessed",
"topic": "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c",
"address": null,
"signature": "ComplexOpProcessed(uint64,bytes32,uint64,bytes32,uint8,uint8)"
}
],
"status": "completed",
"emergency": false,
"error": null
},
"data": {
"callData": "0000000000000089f898c1cbab66ac331e48ad0854bdd7daeee8806c5a1342c68df5f8d3b5ba8c8bdab6060b0f5c53a9cf19a7eb0b478ac03faf58420ef143624e89feb96d5bdd9416d8208c06afb253d3b4d913a45f11f6661837a73706a9272680626e1b84b6c60000000002eefe7b0000000000000f6600000000653bc534",
"size": 128
}
}
```

## Glossary

Decryption of router operation codes:

{% hint style="info" %}
**A** - add liquidity

**R** - remove liquidity

**S** - swap

**LM** - lock mint (lock the original token and mint its synthetic token in another network)

**BU** - burn unlock (burn the synthetic token and unlock the original in another network)

**BM** - burn mint (burn the synthetic token and mint the synthetic token in another network)

**Uw** - unwrap to native token

**W** - wrap native token

**M** - emergency mint

**U** - emergency unlock
{% endhint %}


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.crosscurve.fi/developer-documentation/guide-for-developers/technical-documentation-for-crosscurve-api-old.md?ask=<question>
```

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

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