Technical Documentation for CrossCurve API
Make cross-chain swap
Performing a cross-chain swap consists of 4 steps:
Routing construction
Estimating cross-chain operations
Forming data for the transaction
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:
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.
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.
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
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
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
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
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
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
Last updated