通过 DEX 聚合器获取最优报价。
GET https://www.okx.com/api/v5/dex/aggregator/quote
参数 | 类型 | 必传 | 描述 |
---|---|---|---|
chainId | String | 是 | 链 ID (如1 : Ethereum,更多可查看链 ID 列表) |
amount | String | 是 | 币种询价数量 (数量需包含精度,如兑换 1.00 USDT 需输入 1000000,兑换 1.00 DAI 需输入 1000000000000000000),币种精度可通过币种列表取得。 |
fromTokenAddress | String | 是 | 询价币种合约地址 (如0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ) |
toTokenAddress | String | 是 | 目标币种合约地址 (如0xa892e1fef8b31acc44ce78e7db0a2dc610f92d00 ) |
dexIds | String | 否 | 限定询价的流动性池 dexId , 多个组合按 , 分隔 (如 1,50,180 ,更多可查看流动性列表) |
priceImpactProtectionPercentage | String | No | (可选,默认值为 90%) 允许的价格影响百分比 (介于 0 和 1.0 之间)。 当用户设置了 priceImpactProtectionPercentage 后,如果估算的价格影响超过了指定的百分比,将会返回一个错误。例如,如果 PriceImpactProtectionPercentage = .25 (25%),任何价格影响高于 25% 的报价都将返回错误。 这是一个可选开启的功能,默认值为 0.9。当百分比被设置为 1.0 (100%) 时,此功能将被禁用,也就是说,每一笔交易都会被允许通过。 注意:当我们无法计算价格影响时,我们会返回 null,并且价格影响保护也会被禁用。 |
feePercent | String | 否 | 发送到分佣地址的询价币种数量百分比 最小百分比:0 最大百分比:3 ,默认精度 2 位小数,如果传入精度过长,系统自动向上取整至 2 位。 |
参数 | 类型 | 描述 |
---|---|---|
chainId | String | 链 ID (如1 : Ethereum,更多可查看链 ID 列表) |
dexRouterList | Array | 询价路径数据集合 |
fromTokenAmount | String | 询价币种的兑换数量 (如500000000000000000000009 ) |
toTokenAmount | String | 目标币种的兑换数量 (如168611907733361 ) |
tradeFee | String | 询价路径预估消耗的网络费用 (USD 计价) |
estimateGasFee | String | 预估消耗的 gas,各个链的最小单位返回,例如 wei |
router | String | 币种兑换的一条路径 |
routerPercent | String | 当前兑换路径处理的资产占所有资产的百分比 (如5 ) |
subRouterList | Array | 子路径列表 |
dexProtocol | Array | 兑换路径中执行的 DEX 协议 (如Verse ) |
percent | String | 一条路径中单一 DEX 协议的兑换资产占所有 DEX 协议百分比 (如100 ) |
dexName | String | DEX 协议名称 |
fromToken | Object | 询价币种信息 |
tokenContractAddress | String | 币种合约地址 (如0xa892e1fef8b31acc44ce78e7db0a2dc610f92d00 ) |
tokenSymbol | String | 币种简称 (如WETH ) |
tokenUnitPrice | String | 该接口返回的币种单价是一个结合了链上、交易所以及其他第三方来源数据的综合美元价格。注:此价格仅为推荐价格,在一些特殊情况中,币种单价可能为 null |
decimal | String | 币种精度定义了单个的该币种可以被分成多少份的最小单位。例如,如果一个币种的精度是 8,则表示单个的这种代币可以被分成 100,000,000 份的最小单位。注意:该参数仅供参考,币种精度会随着合约拥有者的设置改变等原因发生变化。 |
isHoneyPot | Boolean | 代币是否为貔貅币。 是:true 否:false |
taxRate | String | 代币卖出税率,适用于可设定税费机制的代币(如SafeMoon、SPL2022代币)。普通代币无税费时返回 0 。取值为 最小:0 最大:1 ,0.01表示1%。 |
toToken | Object | 路径中目标币种信息 |
tokenContractAddress | String | 币种合约地址 (如0xa892e1fef8b31acc44ce78e7db0a2dc610f92d00 ) |
tokenSymbol | String | 币种简称 (如WETH ) |
tokenUnitPrice | String | 该接口返回的币种单价是一个结合了链上、交易所以及其他第三方来源数据的综合美元价格。注:此价格仅为推荐价格,在一些特殊情况中,币种单价可能为 null |
decimal | String | 币种精度定义了单个的该币种可以被分成多少份的最小单位。例如,如果一个币种的精度是 8,则表示单个的这种代币可以被分成 100,000,000 份的最小单位。注意:该参数仅供参考,币种精度会随着合约拥有者的设置改变等原因发生变化。 |
isHoneyPot | Boolean | 代币是否为貔貅币。 是:true 否:false |
taxRate | String | 代币买入税率,适用于可设定税费机制的代币(如SafeMoon、SPL2022代币)。普通代币无税费时返回 0 。取值为 最小:0 最大:1 ,0.01表示1%。 |
quoteCompareList | Array | 询价路径对比列表 |
dexName | String | 询价路径 DEX 名称 |
dexLogo | String | DEX 协议名称 |
tradeFee | String | 询价路径预估消耗的网络费用 (USD 计价) |
receiveAmount | String | 询价路径的接收数量 |
priceImpactPercentage | String | Percentage = (接收价值 – 支付价值) / 支付价值。因为当前兑换数量影响了流动性池深度,导致产生了价值差额。若接收价值大于支付价值,Percentage 有可能是正数。 |
curl --location --request GET 'https://www.okx.com/api/v5/dex/aggregator/quote?amount=10000000000000000000&chainId=1&toTokenAddress=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&fromTokenAddress=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' \
--header 'OK-ACCESS-PROJECT: 86af********d1bc' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \de
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'
{
"code": "0",
"data": [
{
"chainId": "1",
"dexRouterList": [
{
"router": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee--0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"routerPercent": "100",
"subRouterList": [
{
"dexProtocol": [
{
"dexName": "Uniswap V3",
"percent": "100"
}
],
"fromToken": {
"decimal": "18",
"isHoneyPot": false,
"taxRate": "0",
"tokenContractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"tokenSymbol": "WETH",
"tokenUnitPrice": "3606.94"
},
"toToken": {
"decimal": "6",
"isHoneyPot": false,
"taxRate": "0",
"tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"tokenSymbol": "USDC",
"tokenUnitPrice": "0.9999"
}
}
]
}
],
"estimateGasFee": "135000",
"fromToken": {
"decimal": "18",
"isHoneyPot": false,
"taxRate": "0",
"tokenContractAddress": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"tokenSymbol": "ETH",
"tokenUnitPrice": "3606.94"
},
"fromTokenAmount": "1000000000000000",
"originToTokenAmount": "3608628",
"priceImpactPercentage": "0.04",
"quoteCompareList": [
{
"amountOut": "35984",
"dexLogo": "https://static.okx.com/cdn/wallet/logo/DODO.png",
"dexName": "DODO",
"tradeFee": "13.609993622490384"
},
{
"amountOut": "3586381",
"dexLogo": "https://static.okx.com/cdn/wallet/logo/balancer.png",
"dexName": "Balancer V1",
"tradeFee": "16.319948104844664"
},
{
"amountOut": "3580447",
"dexLogo": "https://static.okx.com/cdn/wallet/logo/UNI.png",
"dexName": "Uniswap V1",
"tradeFee": "8.018574649654157568"
},
{
"amountOut": "3585311",
"dexLogo": "https://static.okx.com/cdn/web3/dex/logo/Fluid.png",
"dexName": "Fluid",
"tradeFee": "7.957841558644062204"
},
{
"amountOut": "3591031",
"dexLogo": "https://static.okx.com/cdn/wallet/logo/balancer.png",
"dexName": "Balancer V2",
"tradeFee": "7.286766496997064"
}
],
"toToken": {
"decimal": "6",
"isHoneyPot": false,
"taxRate": "0",
"tokenContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"tokenSymbol": "USDC",
"tokenUnitPrice": "0.9999"
},
"toTokenAmount": "3608628",
"tradeFee": "4.1057406791269083"
}
],
"msg": ""
}