Swap API
生成可直接使用的交易 calldata,通过 Universal Router 执行交换。返回的响应可以直接作为交易发送。POST /api/v1/swap
请求体
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
tokenIn | string | 是 | 输入代币地址 |
tokenOut | string | 是 | 输出代币地址 |
amountIn | string | 条件必填 | 输入数量,tradeType=0 时必填 |
amountOut | string | 条件必填 | 输出数量,tradeType=1 时必填 |
tradeType | number | 否 | 0 = 精确输入(默认),1 = 精确输出 |
slippage | number | 否 | 滑点容忍度(百分比,默认:0.5) |
recipient | string | 是 | 接收输出代币的地址 |
deadline | number | 否 | 过期时间(秒,默认:1200 = 20 分钟) |
响应
| 字段 | 描述 |
|---|---|
to | Universal Router 地址——用作交易的 to 字段 |
data | 编码后的 calldata——用作交易的 data 字段 |
value | 原生 KAS 数量——用作交易的 value 字段(当输入代币为 KAS 时不为零) |
gasEstimate | 预估 Gas 用量 |
quote.minAmountOut | 最低输出数量(精确输入时)——链上滑点保护 |
quote.maxAmountIn | 最高输入数量(精确输出时)——链上滑点保护 |
permit2 | Permit2 合约地址 |
滑点保护
| 交易类型 | 字段 | 计算公式 |
|---|---|---|
| 精确输入 (0) | minAmountOut | amountOut × (1 - slippage / 100) |
| 精确输出 (1) | maxAmountIn | amountIn × (1 + slippage / 100) |