创建意图订单#

向 OKX DEX 意图协议提交一笔已签名的意图订单。调用本接口前,需先通过 获取兑换价格 接口以 mode=intentmode=auto 获取报价,再使用用户钱包对返回的 signData 对象进行 EIP-712 签名。

请求地址#

POST
https://web3.okx.com/api/v6/dex/aggregator/intent/create-order

请求参数#

参数类型必传描述
chainIndexString链的唯一标识。如 1:Ethereum,更多可查看这里
fromTokenAddressString卖出币种合约地址。须与报价返回的 signData.message.fromTokenAddress 保持一致。
toTokenAddressString买入币种合约地址。须与报价返回的 signData.message.toTokenAddress 保持一致。
fromTokenAmountString卖出数量(最小精度单位)。须与报价返回的 signData.message.fromTokenAmount 保持一致。
toTokenAmountString最小买入数量(最小精度单位)。由报价返回的 signData.message.toTokenAmount 结合滑点计算得出。
userWalletAddressString下单钱包地址,须与报价返回的 signData.message.owner 保持一致。
validToInteger订单过期的 Unix 时间戳(秒)。须与报价返回的 signData.message.validTo 保持一致。
swapReceiverAddressString接收输出代币的钱包地址。若不传则默认使用 userWalletAddress。须与报价返回的 signData.message.receiver 保持一致。
quoteIdString获取兑换价格 接口返回的唯一报价标识。
appDataString须与报价返回的 signData.message.appData 字段的值,保持一致。
signatureString用户私钥对报价返回的 signData 对象进行 EIP-712 签名后的结果。
commissionInfosArray分佣配置列表,每项定义一个收佣地址及对应费率。使用报价响应中 signData.message.commissionInfos 的值。
feePercentString费率,数值 × 10^9。如 30000000 表示 0.3%,须与报价返回的值保持一致。
referrerWalletAddressString接收分佣的钱包地址,须与报价返回的值保持一致。
flagString编码费用路由规则的位图,包含代币方向(fromToken 或 toToken)及其他约束条件。使用报价响应中 signData.message.commissionInfos[].flag 的值。

响应参数#

参数类型描述
orderUidString成功创建的意图订单唯一标识。可用此 ID 查询订单状态或发起取消操作。

请求示例#

shell
curl --location --request POST 'https://web3.okx.com/api/v6/dex/aggregator/intent/create-order' \
--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' \
--header 'Content-Type: application/json' \
--data-raw '{
  "chainIndex": "1",
  "fromTokenAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "toTokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
  "fromTokenAmount": "100000",
  "toTokenAmount": "95432",
  "userWalletAddress": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
  "validTo": 1893456000,
  "swapReceiverAddress": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
  "quoteId": "10000000000000001",
  "appData": "0xa1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
  "signature": "0x1234567890abcdef...",
  "commissionInfos": [
    {
      "feePercent": "30000000",
      "flag": "86412300000000000000000000000000000000000000000000000000000000000000",
      "referrerWalletAddress": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
    },
    {
      "feePercent": "10000000",
      "flag": "86567800000000000000000000000000000000000000000000000000000000000000",
      "referrerWalletAddress": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
    }
  ]
}'

响应示例#

json
{
    "code": "0",
    "data": [
        {
            "orderUid": "0xa1b2c3d4e5f6789012345678901234567890123456789012345678901234567890ab"
        }
    ],
    "msg": ""
}