意图交易solver求解#

POST /solve#

接收一场拍卖并返回一个或多个 Solution。 响应内容包含 Solver 所能找到的最佳 Solution 的目标值(Objective Value),但不包含 calldata。Autopilot 确定获胜者后,会调用 /settle 端点,通知获胜 Solver 执行其 Solution。

注意事项#

  • Solver 应快速响应:多笔订单拍卖的响应时间需 ≤ 8 秒,单笔订单拍卖需 ≤ 2 秒。超时将视为放弃该轮拍卖(含网络延迟)。
  • 对于同一个 Auction ID,Autopilot 最多只会调用此端点一次。
  • 若某笔 RWA 单笔订单拍卖在第一轮未能被求解,该未解订单会与其他正常订单于下一轮一同批次处理。
http
curl -X POST 'https://your-api-endpoint.com/OKXDEX/intent/solve' \
  -H 'Content-Type: application/json' \
  -d '{
  "auctionId": "16979924300771968",
  "chainIndex": "1",
  "deadline": "1773829092242",
  "stressTest": true,
  "settlementContract": "0x1a34e1e604d8a55405172c0717b17f7631d5f265",
  "orders": [
    {
      "appDataHash": "0xb44dd4943b8f671e3e555b6e0fb8a882fd4c81d2bf2fbe27bf2bc76794d6f1ce",
      "commissionInfos": [
        {
          "commissionType": "okx",
          "feeDirection": true,
          "feePercent": "3000000",
          "referrerWalletAddress": "0x6ea08ca8f313d860808ef7431fc72c6fbcf4a72d",
          "toB": false
        },
        {
          "commissionType": "child",
          "feeDirection": true,
          "feePercent": "1000000",
          "referrerWalletAddress": "0x2c825edb17c2c04983a481ebd2da2a39424c7cb7",
          "toB": false
        },
        {
          "commissionType": "parent",
          "feeDirection": true,
          "feePercent": "500000",
          "referrerWalletAddress": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
          "toB": false
        }
      ],
      "createTime": "1773828838",
      "fromTokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "fromTokenAmount": "1000000000000000",
      "orderUid": "0xac46fe143af2afc7e3614f96cfcf660b0e680ca8d9d8f59591b63fbdc4a871413474fbbc6e43dcb0398e2eacbe1032cced80674269ba81ed",
      "owner": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
      "partiallyFillable": false,
      "receiver": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
      "signature": "0xabe06f2376cd977d47179be4b055df4b4ebb140d48e585c9f742019760fe02f02655eec2b87ae159c7e1a510dfe3524799504c1f6175c5c2cdff35d0ad54b6131c",
      "signingScheme": "eip712",
      "swapMode": "exactIn",
      "toTokenAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "toTokenAmount": "2262246",
      "validTo": "1773830637"
    }
  ],
  "tokens": [
    {
      "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "price": "2333.904192377223440889",
      "decimals": "18",
      "tags": ["RWA_ONDO","RWA"]
    },
    {
      "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "price": "0.99998",
      "decimals": "6",
      "tags": ["RWA_ONDO","RWA"]
    }
  ]
}'

请求参数(SolveRequest)#

参数类型必填说明范例
chainIndexString链 ID1-eth
auctionIdString拍卖唯一 ID12345
settlementContractString用以结算此场拍卖的结算合约地址0xabcd...
deadlineTimestamp期望获取响应的截止时间戳172120120102
stressTestBooleantrue 时表示压测订单,/solve 将跳过 Simulation 验证,直接于 solutions 返回结果true
ordersArray<Order>此场拍卖中可被求解的订单列表
┗ orderUidString订单唯一标识码(56 bytes,0x 前缀十六进制)0x30cff40d...76a6
┗ ownerString订单拥有者地址0x1234...5678
┗ fromTokenAddressString卖出 Token 地址0xa0b8...eb48
┗ toTokenAddressString买入 Token 地址0xdac1...1ec7
┗ fromTokenAmountString卖出数量(以最小单位表示)1000000000
┗ toTokenAmountString买入数量(以最小单位表示)990000000
┗ swapModeString订单类型:exactIn / exactOut,目前 OKX 仅支持 exactInexactIn
┗ partiallyFillableBoolean是否允许部分成交,目前 OKX 不支持部分成交false
┗ validToString订单到期时间(Unix 时间戳,秒)1737400518
┗ appDataHashStringApp data hash(32 bytes,0x 前缀十六进制)0x0000...0000
┗ signatureString签名(0x 前缀十六进制)0x1234...
┗ signingSchemeString签名方式:eip712 / ethsign / presign / eip1271eip712
┗ receiverString收款地址0x1234...5678
┗ createTimeString订单创建时间(epoch 秒)1737396918
┗ commissionInfosArray手续费信息列表
┗┗ feePercentString最多支持 9 位小数;若超出位数,系统将自动向上取整20000000
┗┗ feeAmountString手续费金额100000
┗┗ referrerWalletAddressString手续费收款地址0x1234...
┗┗ feeDirectionBoolean收费方向:true = 从 fromToken 收取,false = 从 toToken 收取true
┗┗ commissionTypeString手续费类型:okx = OKX 平台费、parent = 上层节点分成、child = 下层节点分成okx
┗┗ toBBoolean订单类型:true = ToB、false = ToCfalse
tokensArray此场拍卖使用的 Token 数据(会包含 WETH 价格信息)
┗ addressStringToken 地址0x1234...5611
┗ priceString参考价格(以 USD 计价,最多支持 18 位小数),用于计算 Surplus1000000000000000000
┗ decimalsStringToken 小数位数18
┗ tagsArrayToken 标签列表["RWA_ONDO","RWA"]

响应参数#

参数类型必填说明范例
solutionsArraySolution 列表
┗ solutionIdStringSolution 唯一标识码(仅需在当前拍卖中唯一,不需全局唯一)。必须为数字字符串,最大值为 2^63 - 11
┗ clearingPricesObjectToken 地址至统一结算价格(扣除手续费前的价格)的对应表
┗ submissionAddressString用于提交该 Solution 进行结算的地址0xaFe9...3596
┗ ordersArraySolver 此 Solution 中所包含的订单列表,包含 Solver 自身的 JIT 订单
┗┗ orderUidString订单唯一标识码(56 bytes,0x 前缀十六进制)0xb91949...46e
┗┗ swapModeString订单类型:exactIn / exactOutexactIn
┗┗ fromTokenAddressString卖出 Token 地址0xc02a...6cc2
┗┗ toTokenAddressString买入 Token 地址0xdac1...1ec7
┗┗ fromTokenAmountString允许卖出的最大数量1750000000000000
┗┗ toTokenAmountString允许买入的最小数量3529500
┗┗ executedFromTokenAmountString实际从用户钱包扣除的数量(含所有手续费)1750000000000000
┗┗ executedToTokenAmountString用户实际收到的净数量(扣除所有手续费后)3694070
┗┗ solverFeeInfoObjectSolver 手续费信息
┗┗┗ feePercentString最多支持 9 位小数;若超出位数,系统将自动向上取整0
┗┗┗ feeAmountStringSolver 手续费金额0
┗┗┗ solverAddressStringSolver 手续费收款地址0xaFe9...3596
┗┗┗ feeDirectionBoolean收费方向:true = 从 fromToken 收取,false = 从 toToken 收取false
┗┗ surplusFeeInfoObjectSurplus 手续费信息
┗┗┗ feePercentStringSurplus 手续费百分比0
┗┗┗ trimReceiverStringSurplus 截留部分的接收地址0xaFe9...3596
┗┗ commissionInfosArray平台费与分润信息
┗┗┗ feePercentString最多支持 9 位小数;若超出位数,系统将自动向上取整3000000
┗┗┗ feeAmountString手续费金额11132
┗┗┗ referrerWalletAddressString手续费收款地址0x29e2...6925
┗┗┗ feeDirectionBoolean收费方向:true = 从 fromToken 收取,false = 从 toToken 收取false
┗┗┗ commissionTypeString手续费类型:okx = OKX 平台费、parent = 上层节点分成、child = 下层节点分成okx
┗┗┗ toBBoolean订单类型:true = ToB、false = ToCfalse

请求范例#

json
{
  "auctionId": "16979924300771968",
  "chainIndex": "1",
  "deadline": "1773829092242",
  "settlementContract": "0x1a34e1e604d8a55405172c0717b17f7631d5f265",
  "orders": [
    {
      "appDataHash": "0xb44dd4943b8f671e3e555b6e0fb8a882fd4c81d2bf2fbe27bf2bc76794d6f1ce",
      "commissionInfos": [
        {
          "commissionType": "okx",
          "feeDirection": true,
          "feePercent": "3000000",
          "referrerWalletAddress": "0x6ea08ca8f313d860808ef7431fc72c6fbcf4a72d",
          "toB": false
        },
        {
          "commissionType": "child",
          "feeDirection": true,
          "feePercent": "1000000",
          "referrerWalletAddress": "0x2c825edb17c2c04983a481ebd2da2a39424c7cb7",
          "toB": false
        },
        {
          "commissionType": "parent",
          "feeDirection": true,
          "feePercent": "500000",
          "referrerWalletAddress": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
          "toB": false
        }
      ],
      "createTime": "1773828838",
      "fromTokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "fromTokenAmount": "1000000000000000",
      "orderUid": "0xac46fe143af2afc7e3614f96cfcf660b0e680ca8d9d8f59591b63fbdc4a871413474fbbc6e43dcb0398e2eacbe1032cced80674269ba81ed",
      "owner": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
      "partiallyFillable": false,
      "receiver": "0x3474fbbc6e43dcb0398e2eacbe1032cced806742",
      "signature": "0xabe06f2376cd977d47179be4b055df4b4ebb140d48e585c9f742019760fe02f02655eec2b87ae159c7e1a510dfe3524799504c1f6175c5c2cdff35d0ad54b6131c",
      "signingScheme": "eip712",
      "swapMode": "exactIn",
      "toTokenAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "toTokenAmount": "2262246",
      "validTo": "1773830637"
    }
  ],
  "tokens": [
    {
      "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "price": "2333.904192377223440889",
      "decimals": "18",
      "tags": ["RWA_ONDO", "RWA"]
    },
    {
      "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "price": "0.99998",
      "decimals": "6",
      "tags": ["RWA_ONDO", "RWA"]
    }
  ]
}

响应范例#

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "solutions": [
      {
        "solutionId": "1",
        "clearingPrices": {
          "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "471600415.188469753892516323455589889089688117",
          "0xdac17f958d2ee523a2206206994597c13d831ec7": "1"
        },
        "submissionAddress": "0xaFe9d55A5a4e90bBBabBa0327BF72196B5683596",
        "orders": [
          {
            "orderUid": "0xb919490fe85e27523f1732fcf09dc398a89deea8f7d9c5fb170cd4f6d6d3bbb729e27c8e9979b9879de65955f172f3623644692569abc46e",
            "swapMode": "exactIn",
            "fromTokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
            "toTokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "fromTokenAmount": "1750000000000000",
            "toTokenAmount": "3529500",
            "executedFromTokenAmount": "1750000000000000",
            "executedToTokenAmount": "3694070",
            "solverFeeInfo": {
              "feeAmount": "0",
              "feePercent": "0",
              "feeDirection": false,
              "solverAddress": "0xaFe9d55A5a4e90bBBabBa0327BF72196B5683596"
            },
            "surplusFeeInfo": {
              "feePercent": "0",
              "trimReceiver": "0xaFe9d55A5a4e90bBBabBa0327BF72196B5683596"
            },
            "commissionInfos": [
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "11132",
                "feePercent": "3000000",
                "toB": false,
                "feeDirection": false,
                "commissionType": "okx"
              },
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "3710",
                "feePercent": "1000000",
                "toB": false,
                "feeDirection": false,
                "commissionType": "child"
              },
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "1855",
                "feePercent": "500000",
                "toB": false,
                "feeDirection": false,
                "commissionType": "parent"
              }
            ]
          },
          {
            "orderUid": "0xe2f6bd4af8ca930b391f321d8ec9d6f772748060aa4bf9b9576d97361af7724f29e27c8e9979b9879de65955f172f3623644692569abc471",
            "swapMode": "exactIn",
            "fromTokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
            "toTokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
            "fromTokenAmount": "5000000",
            "toTokenAmount": "2340413279781192",
            "executedFromTokenAmount": "5000000",
            "executedToTokenAmount": "2347391066600608",
            "solverFeeInfo": {
              "feeAmount": "0",
              "feePercent": "0",
              "feeDirection": true,
              "solverAddress": "0xaFe9d55A5a4e90bBBabBa0327BF72196B5683596"
            },
            "surplusFeeInfo": {
              "feePercent": "0",
              "trimReceiver": "0xaFe9d55A5a4e90bBBabBa0327BF72196B5683596"
            },
            "commissionInfos": [
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "15000",
                "feePercent": "3000000",
                "toB": false,
                "feeDirection": true,
                "commissionType": "okx"
              },
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "5000",
                "feePercent": "1000000",
                "toB": false,
                "feeDirection": true,
                "commissionType": "child"
              },
              {
                "referrerWalletAddress": "0x29e27c8e9979b9879de65955f172f36236446925",
                "feeAmount": "2500",
                "feePercent": "500000",
                "toB": false,
                "feeDirection": true,
                "commissionType": "parent"
              }
            ]
          }
        ]
      }
    ]
  }
}