OKX DEX aggregator (v6). Get swap quotes, swap/approve tx data, tokens, and chains.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install okx-dex或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install okx-dex⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/okx-dex/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: okx-dex description: OKX DEX aggregator (v6). Get swap quotes, swap/approve tx data, tokens, and chains. homepage: https://web3.okx.com/build/dev-docs/wallet-api/dex-api-reference metadata: {"clawdbot":{"emoji":"🧭","always":true,"requires":{"bins":["curl","jq","python3"]}}} ---
OKX Wallet DEX API provides aggregated swap quotes and transaction data across multiple chains (EVM + non‑EVM).
| Variable | Description | Required | |----------|-------------|----------| | OKX_API_KEY | OKX API key | Yes | | OKX_SECRET_KEY | OKX API secret | Yes | | OKX_PASSPHRASE | OKX API passphrase | Yes |
https://web3.okx.com
All requests must include the following headers:
OK-ACCESS-KEYOK-ACCESS-TIMESTAMP (UTC ISO time)OK-ACCESS-PASSPHRASEOK-ACCESS-SIGN (Base64(HMAC_SHA256(prehash, secret)))Prehash string:
TIMESTAMP + METHOD + REQUEST_PATH_WITH_QUERY + BODY
BODY is empty and REQUEST_PATH_WITH_QUERY must include the query string.BODY is the raw JSON string.API_KEY="${OKX_API_KEY}"
SECRET_KEY="${OKX_SECRET_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
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"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
SIGN=$(python3 - <<PY
import hmac, hashlib, base64
import os
msg = f"${TIMESTAMP}${METHOD}${PATH_WITH_QUERY}"
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${PATH_WITH_QUERY}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "OK-ACCESS-SIGN: ${SIGN}" | jq '.'
API_KEY="${OKX_API_KEY}"
SECRET_KEY="${OKX_SECRET_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
CHAIN_INDEX="1" # Ethereum
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
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}"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
SIGN=$(python3 - <<PY
import hmac, hashlib, base64
import os
msg = f"${TIMESTAMP}${METHOD}${PATH_WITH_QUERY}"
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${PATH_WITH_QUERY}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "OK-ACCESS-SIGN: ${SIGN}" | jq '.data[:5]'
API_KEY="${OKX_API_KEY}"
SECRET_KEY="${OKX_SECRET_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
CHAIN_INDEX="1" # Ethereum
FROM_TOKEN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" # ETH (native)
TO_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT="1000000000000000000" # 1 ETH in wei
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
print(datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00','Z'))
PY
)
METHOD="GET"
REQUEST_PATH="/api/v6/dex/aggregator/quote"
QUERY="chainIndex=${CHAIN_INDEX}&fromTokenAddress=${FROM_TOKEN}&toTokenAddress=${TO_TOKEN}&amount=${AMOUNT}&swapMode=exactIn"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
SIGN=$(python3 - <<PY
import hmac, hashlib, base64
import os
msg = f"${TIMESTAMP}${METHOD}${PATH_WITH_QUERY}"
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${PATH_WITH_QUERY}" \
-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
}'
Note: slippagePercent is required by the swap endpoint and is expressed as a decimal percentage (e.g., 0.01 = 1%).
API_KEY="${OKX_API_KEY}"
SECRET_KEY="${OKX_SECRET_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
CHAIN_INDEX="1" # Ethereum
FROM_TOKEN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
TO_TOKEN="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
AMOUNT="1000000000000000000" # 1 ETH in wei
slippagePercent="0.01" # 1%
WALLET="<YOUR_WALLET_ADDRESS>"
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
print(datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00','Z'))
PY
)
METHOD="GET"
REQUEST_PATH="/api/v6/dex/aggregator/swap"
QUERY="chainIndex=${CHAIN_INDEX}&fromTokenAddress=${FROM_TOKEN}&toTokenAddress=${TO_TOKEN}&amount=${AMOUNT}&swapMode=exactIn&slippagePercent=${slippagePercent}&userWalletAddress=${WALLET}"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
SIGN=$(python3 - <<PY
import hmac, hashlib, base64
import os
msg = f"${TIMESTAMP}${METHOD}${PATH_WITH_QUERY}"
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${PATH_WITH_QUERY}" \
-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 // [])
}'
Note: Some responses may omit to/value. If to is null, use the chain's dexTokenApproveAddress from the Supported Chains response as the target.
API_KEY="${OKX_API_KEY}"
SECRET_KEY="${OKX_SECRET_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
CHAIN_INDEX="1" # Ethereum
TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT="1000000000" # 1,000,000 USDC (6 decimals)
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
print(datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00','Z'))
PY
)
METHOD="GET"
REQUEST_PATH="/api/v6/dex/aggregator/approve-transaction"
QUERY="chainIndex=${CHAIN_INDEX}&tokenContractAddress=${TOKEN_ADDRESS}&approveAmount=${AMOUNT}"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
SIGN=$(python3 - <<PY
import hmac, hashlib, base64
import os
msg = f"${TIMESTAMP}${METHOD}${PATH_WITH_QUERY}"
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${PATH_WITH_QUERY}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "OK-ACCESS-SIGN: ${SIGN}" | jq '{
data: .data[0].data,
dexContractAddress: .data[0].dexContractAddress,
gasLimit: .data[0].gasLimit,
gasPrice: .data[0].gasPrice
}'
to from Supported ChainsAPI_KEY="${OKX_API_KEY}"
PASSPHRASE="${OKX_PASSPHRASE}"
CHAIN_INDEX="1" # Ethereum
TOKEN_ADDRESS="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
AMOUNT="1000000000" # 1,000,000 USDC (6 decimals)
TIMESTAMP=$(python3 - <<'PY'
from datetime import datetime, timezone
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=${CHAIN_INDEX}"
PATH_WITH_QUERY="${REQUEST_PATH}?${QUERY}"
...安装 okx-dex 后,可以对 AI 说这些话来触发它
Help me get started with okx-dex
Explains what okx-dex does, walks through the setup, and runs a quick demo based on your current project
Use okx-dex to oKX DEX aggregator (v6)
Invokes okx-dex with the right parameters and returns the result directly in the conversation
What can I do with okx-dex in my data & analytics workflow?
Lists the top use cases for okx-dex, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/okx-dex/ 目录(个人级,所有项目可用),或 .claude/skills/okx-dex/(项目级)。重启 AI 客户端后,用 /okx-dex 主动调用,或让 AI 根据上下文自动发现并使用。
okx-dex 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
okx-dex 可免费安装使用。请查阅仓库了解许可证信息。
OKX DEX aggregator (v6). Get swap quotes, swap/approve tx data, tokens, and chains.
okx-dex 属于「Data & Analytics」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my data & analytics tasks using okx-dex
Identifies repetitive steps in your workflow and sets up okx-dex to handle them automatically