OKX DEX aggregator (v6). Get swap quotes, swap/approve tx data, tokens, and chains.
OKX钱包DEX API提供跨多条链(EVM + 非EVM)的聚合兑换报价和交易数据。
| 变量 | 描述 | 是否必需 |
|---|---|---|
| OKXAPIKEY | OKX API密钥 | 是 |
| OKXSECRETKEY |
https://web3.okx.com
所有请求必须包含以下请求头:
预哈希字符串:
时间戳 + 请求方法 + 带查询参数的请求路径 + 请求体
bash
APIKEY=${OKXAPI_KEY}
SECRETKEY=${OKXSECRET_KEY}
PASSPHRASE=${OKX_PASSPHRASE}
TIMESTAMP=$(python3 - <
print(datetime.now(timezone.utc).isoformat(timespec=milliseconds).replace(+00:00,Z))
PY
)
METHOD=GET
REQUEST_PATH=/api/v6/dex/aggregator/supported/chain
QUERY=chainIndex=1
PATHWITHQUERY=${REQUEST_PATH}?${QUERY}
SIGN=$(python3 - <
import os
msg = f${TIMESTAMP}${METHOD}${PATHWITHQUERY}
secret = os.environ[SECRET_KEY].encode()
print(base64.b64encode(hmac.new(secret, msg.encode(), hashlib.sha256).digest()).decode())
PY
)
curl -s https://web3.okx.com${PATHWITHQUERY} \
-H OK-ACCESS-KEY: ${API_KEY} \
-H OK-ACCESS-TIMESTAMP: ${TIMESTAMP} \
-H OK-ACCESS-PASSPHRASE: ${PASSPHRASE} \
-H OK-ACCESS-SIGN: ${SIGN} | jq .
bash
APIKEY=${OKXAPI_KEY}
SECRETKEY=${OKXSECRET_KEY}
PASSPHRASE=${OKX_PASSPHRASE}
CHAIN_INDEX=1 # 以太坊
TIMESTAMP=$(python3 - <
print(datetime.now(timezone.utc).isoformat(timespec=milliseconds).replace(+00:00,Z))
PY
)
METHOD=GET
REQUEST_PATH=/api/v6/dex/aggregator/all-tokens
QUERY=chainIndex=${CHAIN_INDEX}
PATHWITHQUERY=${REQUEST_PATH}?${QUERY}
SIGN=$(python3 - <
import os
msg = f${TIMESTAMP}${METHOD}${PATHWITHQUERY}
secret = os.environ[SECRET_KEY].encode()
print(base64.b64encode(hmac.new(secret, msg.encode(), hashlib.sha256).digest()).decode())
PY
)
curl -s https://web3.okx.com${PATHWITHQUERY} \
-H OK-ACCESS-KEY: ${API_KEY} \
-H OK-ACCESS-TIMESTAMP: ${TIMESTAMP} \
-H OK-ACCESS-PASSPHRASE: ${PASSPHRASE} \
-H OK-ACCESS-SIGN: ${SIGN} | jq .data[:5]
bash
APIKEY=${OKXAPI_KEY}
SECRETKEY=${OKXSECRET_KEY}
PASSPHRASE=${OKX_PASSPHRASE}
CHAIN_INDEX=1 # 以太坊
FROM_TOKEN=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE # ETH(原生代币)
TO_TOKEN=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 # USDC
AMOUNT=1000000000000000000 # 1 ETH(以wei为单位)
TIMESTAMP=$(python3 - <
print(datetime.now(timezone.utc).isoformat(timespec=milliseconds).replace(+00:00,Z))
PY
)
METHOD=GET
REQUEST_PATH=/api/v6/dex/aggregator/quote
QUERY=chainIndex=${CHAININDEX}&fromTokenAddress=${FROMTOKEN}&toTokenAddress=${TO_TOKEN}&amount=${AMOUNT}&swapMode=exactIn
PATHWITHQUERY=${REQUEST_PATH}?${QUERY}
SIGN=$(python3 - <
import os
msg = f${TIMESTAMP}${METHOD}${PATHWITHQUERY}
secret = os.environ[SECRET_KEY].encode()
print(base64.b64encode(hmac.new(secret, msg.encode(), hashlib.sha256).digest()).decode())
PY
)
curl -s https://web3.okx.com${PATHWITHQUERY} \
-H OK-ACCESS-KEY: ${API_KEY} \
-H OK-ACCESS-TIMESTAMP: ${TIMESTAMP} \
-H OK-ACCESS-PASSPHRASE: ${PASSPHRASE} \
-H OK-ACCESS-SIGN: ${SIGN} | jq {
fromTokenAmount: .data[0].fromTokenAmount,
toTokenAmount: .data[0].toTokenAmount,
tradeFee: .data[0].tradeFee,
router: .data[0].router
}
注意:slippagePercent 是兑换端点必需的参数,以小数百分比表示(例如,0.01 = 1%)。
bash
APIKEY=${OKXAPI_KEY}
SECRETKEY=${OKXSECRET_KEY}
PASSPHRASE=${OKX_PASSPHRASE}
CHAIN_INDEX=1 # 以太坊
FROM_TOKEN=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
TO_TOKEN=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
AMOUNT=1000000000000000000 # 1 ETH(以wei为单位)
slippagePercent=0.01 # 1%
WALLET=<您的钱包地址>
TIMESTAMP=$(python3 - <
print(datetime.now(timezone.utc).isoformat(timespec=milliseconds).replace(+00:00,Z))
PY
)
METHOD=GET
REQUEST_PATH=/api/v6/dex/aggregator/swap
QUERY=chainIndex=${CHAININDEX}&fromTokenAddress=${FROMTOKEN}&toTokenAddress=${TO_TOKEN}&amount=${AMOUNT}&swapMode=exactIn&slippagePercent=${slippagePercent}&userWalletAddress=${WALLET}
PATHWITHQUERY=${REQUEST_PATH}?${QUERY}
SIGN=$(python3 - <
import os
msg = f${TIMESTAMP}${METHOD}${PATHWITHQUERY}
secret = os.environ[SECRET_KEY].encode()
print(base64.b64encode(hmac.new(secret, msg.encode(), hashlib.sha256).digest()).decode())
PY
)
curl -s https://web3.okx.com${PATHWITHQUERY} \
-H OK-ACCESS-KEY: ${API_KEY} \
-H OK-ACCESS-TIMESTAMP: ${TIMESTAMP} \
-H OK-ACCESS-PASSPHRASE: ${PASSPHRASE} \
-H OK-ACCESS-SIGN: ${SIGN} | jq {
tx: .data[0].tx,
router: .data[0].routerResult.router,
priceImpactPercent: .data[0].routerResult.priceImpactPercent,
dexRouterList: (.data[0].routerResult.dexRouterList // [])
}
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 okx-dex-1776360126 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 okx-dex-1776360126 技能
skillhub install okx-dex-1776360126
文件大小: 4.37 KB | 发布时间: 2026-4-17 16:25