获取路径信息#
通过欧易 DEX 跨链聚合器获取综合最优路径。
请求地址#
GET https://www.okx.com/api/v5/dex/cross-chain/quote
请求参数#
参数 | 类型 | 必传 | 描述 |
---|---|---|---|
fromChainId | String | 是 | 源链 ID (如1 : Ethereum,更多可查看链 ID 列表) |
toChainId | String | 是 | 目标链 ID (如1 : Ethereum,更多可查看链 ID 列表) |
fromTokenAddress | String | 是 | 询价币种合约地址 (如0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE ) |
toTokenAddress | String | 是 | 目标币种合约地址 (如TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8 ) |
amount | String | 是 | 币种询价数量 (数量需包含精度,如授权 1.00 USDT 需输入 1000000 ,授权 1.00 DAI 需输入 1000000000000000000 ),币种精度可透过币种列表取得 |
sort | Integer | 否 | 跨链路径选择 0 代表默认路径,是预计获得数量最多的路径 1 代表综合最优路径,是综合计算获得数量、网络费用、滑点、跨链桥费后的最优路径 2 代表最快路径,是耗时最少的路径 |
slippage | String | 是 | 滑点限制,最小值:0.002 ,最大值:0.5 。(如:0.005代表你接受这笔交易最大 0.5%滑点,0.5 就代表你接受这笔交易最大 50%的滑点) |
feePercent | String | 否 | 发送到分佣地址的询价币种数量百分比 最小百分比:0 最大百分比:3 |
allowBridge | Array | 否 | 指定该跨链桥是否包含在路径里面 (如[211,235] ) |
denyBridge | Array | 否 | 指定该跨链桥是否不包含在路径里面 (如[211,235] ) |
priceImpactProtectionPercentage | String | 否 | (可选,默认值为 90%) 允许的价格影响百分比 (介于 0 和 1.0 之间)。 当用户设置了 priceImpactProtectionPercentage 后,如果估算的价格影响超过了指定的百分比,将会返回一个错误。例如,如果 PriceImpactProtectionPercentage = .25 (25%),任何价格影响高于 25% 的报价都将返回错误。 这是一个可选开启的功能,默认值为 0.9。当百分比被设置为 1.0 (100%) 时,此功能将被禁用,也就是说,每一笔交易都会被允许通过。 注意:当我们无法计算价格影响时,我们会返回 null,并且价格影响保护也会被禁用。 |
响应参数#
参数 | 类型 | 必传 | 描述 |
---|---|---|---|
fromChainId | String | 是 | 源链 ID (如1 : Ethereum,更多可查看链 ID 列表 ) |
toChainId | String | 是 | 目标链 ID (如1 : Ethereum,更多可查看链 ID 列表 ) |
fromTokenAmount | String | 是 | 询价币种的兑换数量 (如:500000000000000000000000 ) |
fromToken | Object | 是 | 询价币种信息 |
decimals | Integer | 是 | 币种精度 (如: 18 ) |
tokenContractAddress | String | 是 | 币种合约地址 (如 :0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ) |
tokenSymbol | String | 是 | 币种简称 (如 WETH ) |
toToken | Object | 是 | 目标链币种基础信息 |
decimals | Integer | 是 | 币种精度(如: 6 ) |
tokenContractAddress | String | 是 | 币种合约地址(如: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ) |
tokenSymbol | String | 是 | 币种简称 (如: USDC ) |
routerList | Array | 是 | 询价路径数据集合 |
router | Object | 是 | 跨链桥基础信息 |
bridgeId | Integer | 是 | 跨链桥 ID (如211 ) |
bridgeName | String | 是 | 跨链桥名称 (如cBridge ) |
otherNativeFee | String | 是 | 部分跨链桥会额外收取一定数量的源链主网币,作为跨链桥手续费,并不是所有跨链桥都会收取该部分费用。目前收取该费用的跨链桥有 Stargate、Wanchain、Arbitrum 官方桥、zkSync Era 官方桥、Linea 官方桥。使用该三方桥需支付otherNativeFee 才能完成交易。 |
crossChainFee | String | 是 | 跨链桥收取的费用,一般为稳定币或者WETH |
crossChainFeeTokenAddress | String | 是 | 跨链桥费币种信息(如:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE 代表主网代币地址) |
estimateGasFee | String | 是 | 以 wei 为单位的预估消耗的 gas |
estimatedTime | String | 是 | 预估的跨链交易完成时间,以秒为单位,时间根据历史成功订单交易完成时间动态计算得出 |
fromDexRouterList | Array | 否 | 源链兑换路径基础信息, 如果不需要源链兑换路径则返回空 |
percent | String | 是 | 一条路径中单一 DEX 协议的兑换资产占所有 DEX 协议百分比 |
router | String | 是 | 币种兑换的一条路径 |
subRouterList | Array | 是 | DEX router集合信息 |
dexProtocol | Array | 是 | 兑换路径中执行的 DEX 协议 |
dexName | String | 是 | DEX 协议名称 |
fromToken | Object | 是 | 询价币种信息 |
decimals | Integer | 是 | 币种精度 (如: 18 ) |
tokenContractAddress | String | 是 | 币种合约地址 (如:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ) |
tokenSymbol | String | 是 | 币种简称 (如:WETH ) |
toToken | Object | 是 | 目标币种信息 |
decimals | Integer | 是 | 币种精度 (如: 6 ) |
tokenContractAddress | String | 是 | 币种合约地址 (如:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ) |
tokenSymbol | String | 是 | 币种符号 (如:USDC ) |
toDexRouterList | Array | 否 | 目标链兑换路径基础信息,如果不需要目标链兑换路径则返回为空 |
percent | String | 是 | 一条路径中单一 DEX 协议的兑换资产占所有 DEX 协议百分比 |
router | String | 是 | 币种兑换的一条路径 |
subRouterList | Array | 是 | DEX Router集合信息 |
dexName | String | 是 | DEX 协议名称 |
fromToken | Object | 是 | 询价币种信息 |
decimals | Integer | 是 | 币种精度如 (如: 18 ) |
tokenContractAddress | String | 是 | 币种合约地址(如:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ) |
tokenSymbol | String | 是 | 币种简称 (如:WETH ) |
toToken | Object | 是 | 目标币种信息 |
decimals | Integer | 是 | 币种精度 (如: 6 ) |
tokenContractAddress | String | 是 | 币种合约地址 (如:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ) |
tokenSymbol | String | 是 | 币种符号 (如:USDC ) |
fromChainNetworkFee | String | 是 | 询价路径预估消耗的源链网络费用 (以主网币精度显示) |
toChainNetworkFee | String | 是 | 询价路径预估消耗的目标链网络费用 (以主网币精度显示) |
minimumReceived | String | 是 | 目标币种的最小兑换数量 (兑换价格达到滑点限制的极限值时,目标币种的兑换数量) |
needApprove | Integer | 是 | 是否需要授权 |
toTokenAmount | String | 是 | 目标币种的兑换数量 |
请求示例#
shell
curl --location --request GET 'https://www.okx.com/api/v5/dex/cross-chain/quote?amount=15&fromChainId=324&toChainId=42161&fromTokenAddress=0x3355df6d4c9c3035724fd0e3914de96a5a83aaf4&toTokenAddress=0xff970a61a04b1ca14834a43f5de4533ebddb5cc8&slippage=0.07' \
--header 'OK-ACCESS-PROJECT: 86af********d1bc' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'
响应示例#
200
{
"code":"0",
"data":[
{
"fromChainId":"56",
"fromToken":{
"decimals":18,
"tokenContractAddress":"0x55d398326f99059ff775485246999027b3197955",
"tokenSymbol":"USDT"
},
"fromTokenAmount":"30000000000000000000",
"routerList":[
{
"estimateTime":"290",
"fromDexRouterList":[
{
"router":"0x55d398326f99059ff775485246999027b3197955--0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c--0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
"routerPercent":"100",
"subRouterList":[
{
"dexProtocol":[
{
"dexName":"Uniswap V3",
"percent":"100"
}
],
"fromToken":{
"decimals":18,
"tokenContractAddress":"0x55d398326f99059ff775485246999027b3197955",
"tokenSymbol":"USDT"
},
"toToken":{
"decimals":18,
"tokenContractAddress":"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
"tokenSymbol":"WBNB"
}
},
{
"dexProtocol":[
{
"dexName":"Uniswap V3",
"percent":"100"
}
],
"fromToken":{
"decimals":18,
"tokenContractAddress":"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
"tokenSymbol":"WBNB"
},
"toToken":{
"decimals":18,
"tokenContractAddress":"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
"tokenSymbol":"USDC"
}
}
]
}
],
"minimumReceived":"28635611",
"needApprove":1,
"router":{
"bridgeId":235,
"bridgeName":"swft",
"crossChainFee":"1.090044714717251827012",
"otherNativeFee":"0",
"crossChainFeeTokenAddress":"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"
},
"toDexRouterList":[
{
"router":"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619--0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"routerPercent":"100",
"subRouterList":[
{
"dexProtocol":[
{
"dexName":"Uniswap V3",
"percent":"100"
}
],
"fromToken":{
"decimals":18,
"tokenContractAddress":"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
"tokenSymbol":"WETH"
},
"toToken":{
"decimals":18,
"tokenContractAddress":"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
"tokenSymbol":"WMATIC"
}
}
]
}
],
"toTokenAmount":"28924860"
}
],
"toChainId":"42161",
"toToken":{
"decimals":6,
"tokenContractAddress":"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
"tokenSymbol":"USDC.e"
}
}
],
"msg":""
}