HTTP API:报价
报价类接口需要鉴权。
POST /v1/quote/indicative
获取参考报价(用于 UI 展示),不包含签名信息。
请求体:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
src_chain_id |
uint64 | 是 | 源链 ID |
dst_chain_id |
uint64 | 是 | 目标链 ID |
token_in |
string | 是 | ERC20 地址;零地址表示原生币 |
token_out |
string | 是 | ERC20 地址;零地址表示原生币 |
amount_in |
string | 是 | wei 整数字符串 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
amount_out |
string | 预期输出(wei) |
fee_rate |
uint64 | 手续费率(bps) |
fee_amount |
string | 手续费(wei) |
示例:
curl -X POST "{rfq-api-base-url}/v1/quote/indicative" \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-d '{
"src_chain_id": 97,
"dst_chain_id": 97,
"token_in": "0x0000000000000000000000000000000000000000",
"token_out": "0x337610d27c682E347C9cD60BD4b3b107C9d34dDd",
"amount_in": "1000000000000000000"
}'
POST /v1/quote/firm
获取确定性报价,返回可直接上链的 Router calldata。
请求体:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
src_chain_id |
uint64 | 是 | 源链 ID |
dst_chain_id |
uint64 | 是 | 目标链 ID |
from_address |
string | 是 | 发起地址(签名上下文) |
to_address |
string | 是 | 接收地址(签名上下文) |
token_in |
string | 是 | ERC20/零地址 |
token_out |
string | 是 | ERC20/零地址 |
amount_in |
string | 是 | wei 整数字符串 |
indicative_amount_out |
string | 否 | 可用于滑点校验 |
slippage |
double | 是 | 百分比 [0,100],如 0.5 表示 0.5% |
expiry_time_sec |
uint64 | 是 | 有效期(秒),建议 60 |
响应 data 关键字段:
| 字段 | 类型 | 说明 |
|---|---|---|
quote_id |
string | 报价 ID |
router_address |
string | Router 合约地址 |
calldata |
string | 0x...,可直接上链 |
deadline |
uint64 | Unix 秒级时间戳 |
示例:
curl -X POST "{rfq-api-base-url}/v1/quote/firm" \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-d '{
"src_chain_id": 97,
"dst_chain_id": 97,
"from_address": "0x742d35Cc6634C0532925a3b8D1e4D1F4D6ee2D7e",
"to_address": "0x742d35Cc6634C0532925a3b8D1e4D1F4D6ee2D7e",
"token_in": "0x337610d27c682E347C9cD60BD4b3b107C9d34dDd",
"token_out": "0x0000000000000000000000000000000000000000",
"amount_in": "1000000000000000000",
"slippage": 0.5,
"expiry_time_sec": 60
}'
说明
{rfq-api-base-url}以部署方提供的为准;若你看到示例里 host 不一致,把它当作占位符即可。