LogoLogo
  • CrossCurve MetaLayer
    • βš™οΈWhat is CrossCurve MetaLayer
      • CrossCurve Consensus bridge
      • CrossCurve Pools v2
    • πŸ—ΊοΈRoadmap
      • 2024
  • 🏒CrossCurve DAO
    • Overview of CrossCurve DAO
    • Voting
    • Obtaining veEYWA and Calculating the Boost
    • Staking mechanics
    • NFTs
      • CrossCurve DAO NFT
      • EYWA NFT Collection
  • πŸ’ΌEarn with CrossCurve
    • Staking in CrossCurve
    • Providing Liquidity to CrossCurve Pools
    • Voting for Incentives
  • πŸ“–user documentation
    • πŸ›ΈMigration to Sonic
      • Why are we moving to Sonic
      • Sonic Upgrade Stages
      • Liquidity transfer from Fantom to Sonic
      • Sonic Incentives on CrossCurve MetaLayer
    • πŸ”ƒSwap interface
      • How to trade
      • Slippage settings
      • Routing
    • 🌊Liquidity Interface
      • Easy mode
      • via Curve (Balanced)
      • Liquidity provision use cases
        • Deposit
          • Easy mode (Imbalanced)
          • via Curve (Balanced)
        • Withdraw
          • Easy mode (Imbalanced)
          • via Curve (Balanced)
        • Curve Knowledge Database
          • Balanced liquidity provision
          • Guide to transferring CRV from Fantom chain to Ethereum mainnet
          • Disclamer
    • Dashboard interface
    • 🏒DAO
      • Locker Interface
      • Vote Interface
      • Incentives Interface
      • Proposals Interface
      • Working with the EYWA Locker contract in Arbiscan.
    • 🌾Yield
      • Farms Interface
        • Staking liquidity and earning rewards
      • APR Calculator
      • EYWA pool via Convex
    • πŸ’ΌVesting
      • Claim portal interface
      • Early farming program interface
    • EYWA NFT
      • Bridge interface in the Aurora chain
      • Merge interface in the Arbitrum chain
      • EYWA NFT Manager interface
    • Leaderboard
    • ❄️Outdated
      • Early farming program
  • πŸ“–Developer documentation
    • Pools/asset contracts
      • Hubchain Pools and Assets
      • πŸ’±Supported tokens
    • πŸ”—CrossCurve smart contracts
    • πŸ’»Guide for Developers
      • Technical Documentation for CrossCurve DAO Smart Contracts
        • CalldataHelperV1
        • DelegationManagerV1
        • DelegationConditionValidatorV1
        • EmissionManagerV1
        • EscrowManager
        • EscrowVoteManagerV1
        • GaugeFactoryV1
        • GaugeV1
        • IncentiveRewardsDistributor
        • LockHolderFactoryV1
        • LockHolderV1
        • ProposalManager
        • RebaseRewardsDistributorV1
        • RewardsDistributorFactoryV1
        • Treasury
      • πŸ“”Technical Documentation for CrossCurve API
        • API Specification
  • πŸ“£About CrossCurve
    • πŸ›‘οΈSecurity audits
    • 🧠Team
    • Project History
    • Website
    • Telegram
    • Twitter
    • Medium
    • Discord
    • YouTube
    • LinkedIn
    • GitHub
Powered by GitBook
On this page
  • Make cross-chain swap
  • 1. Routing construction
  • 2. Making a route estimate
  • 3. Forming data for sending the transaction
  • 4. Sending the transaction
  • Tracking cross-chain swaps
  • Searching for requestId
  • Getting details about the cross-chain transition by its requestId
  • Pusher API Reference
  • API Specification
  • Routing API
  • Get possible cross-chain routes for token exchange
  • Get an estimate for cross-chain exchange
  • Formulate data for the transaction
  • Explorer API
  • Get information about the transaction by its hash or requestId
  • Get details of the cross-chain transfer by requestId
  • Glossary
Export as PDF
  1. Developer documentation
  2. Guide for Developers

Technical Documentation for CrossCurve API

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

Request routing for the specified tokens and networks

Copy

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

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

Copy

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

Copy

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

Copy

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

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

Copy

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

Copy

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

POST https://api.crosscurve.fi/api-docs/#/

Routing API

Get possible cross-chain routes for token exchange

POST https://api.crosscurve.fi/routing/scan

Request Body

Name
Type
Description

params.chainIdIn*

Number

chainId of the sending network

params.chainIdOut*

Number

chainId of the receiving network

params*

Object

slippage*

Number

params.tokenIn*

String

address of the token that the user is selling on the chainIdIn network

params.tokemOut*

String

address of the token that the user is buying on the chainIdOut network

params.amountIn*

String

[
  {
    "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

POST https://api.crosscurve.fi/estimate

Request Body

Name
Type
Description

query*

Object

query.params*

Object

query.params.chainIdIn*

Number

query.params.chainIdOut*

Number

query.params.tokenIn*

String

query.params.tokenOut*

String

query.params.amountIn*

String

query.slippage*

Number

amountIn*

String

amountInWithoutSlippage*

String

amountOut*

String

amountOutWithoutSlippage*

String

route*

Route

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

Formulate data for the transaction

POST https://api.crosscurve.fi/tx/create

Request Body

Name
Type
Description

from*

String

recipient*

String

routing*

Routing

estimate*

Estimate

{
"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

GET https://api.crosscurve.fi/search?search={hashOrReqId}&limit={limit}

Query Parameters

Name
Type
Description

search*

String

hash or requestId of the transaction

limit*

String

{
"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

GET https://api.crosscurve.fi/transaction/{reqId}

Path Parameters

Name
Type
Description

reqId*

String

{
"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:

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

PreviousTreasuryNextSecurity audits

Last updated 2 days ago

πŸ“–
πŸ’»
πŸ“”