订单模式 API
概述
订单模式介绍
本 API 采用 订单模式(Order-based Model) 进行跨链兑换和资产转移。订单模式将整个交易过程分解为多个步骤,提供更好的可追踪性和用户体验。
同链与跨链:订单模式同时支持 同链 swap 和 跨链 兑换。当 fromChain == toChain 时为同链 swap(同一链上的代币兑换);当 fromChain != toChain 时为跨链兑换或资产转移。请求参数与流程一致,仅根据链是否相同区分业务类型。
请求流程
- 获取报价:调用
/bgw-pro/swapx/order/getSwapPrice获取预估输出数量和手续费 - 创建订单:调用
/bgw-pro/swapx/order/makeSwapOrder创建订单并接收交易数据 - 签名交易:让用户使用钱包对交易进行签名
- 提交订单:使用已签名的交易调用
/bgw-pro/swapx/order/submitSwapOrder - 监控状态:轮询
/bgw-pro/swapx/order/getSwapOrder以跟踪订单完成情况
接口列表
API_HOST: https://bopenapi.bgwapi.io
1. 获取兑换价格
接口地址: POST /bgw-pro/swapx/order/getSwapPrice
请求头
| Header | 说明 |
|---|---|
| Content-Type | application/json |
| Partner-Code | <你的合作伙伴代码>(必填) |
请求体参数
| 参数名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fromChain | string | 是 | 源链标识符(例如:“base”、“bnb”、“eth”) |
| fromContract | string | 是 | 源链上的代币合约地址,主链币为空。 |
| fromAmount | string | 是 | 输入代币数量(以代币单位表示,例如 “2.0” 表示 2 个代币) |
| toChain | string | 是 | 目标链标识符 |
| toContract | string | 是 | 目标链上的代币合约地址,主链币为空。 |
| fromAddress | string | 是 | 发起兑换的用户地址 |
| toAddress | string | 否 | 如果没有设置默认是 fromAddress。 |
| feeRate | string | 否 | 手续费百分比。不填则不收取(例如:0.05 表示 5% 手续费) |
请求示例
curl --location '{API_HOST}/bgw-pro/swapx/order/getSwapPrice' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"fromChain": "base",
"fromContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"fromAmount": "2.0",
"toChain": "bnb",
"toContract": "0x55d398326f99059ff775485246999027b3197955",
"fromAddress": "0x2E1276244540B7996fbF4F8DF90229BAD36fB4F5",
"feeRate": "0.05"
}'响应示例
{
"status": 0,
"error_code": 0,
"data": {
"toAmount": "1.885815",
"market": "bkbridgev3.liqbridge",
"slippage": "0",
"priceImpact": "0.0571",
"fee": {
"totalAmountInUsd": "0.114185",
"appFee": {
"amountInUsd": "0.1"
},
"platformFee": {
"amountInUsd": "0.002"
}
},
"features": []
},
"msg": "success",
"title": "",
"timestamp": 1769944578163,
"trace": "Root=1-697f3600-388d2064762bf6e27f653b29"
}响应字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| toAmount | string | 预估到账数量 |
| market | string | 推荐使用的市场/跨链桥 |
| slippage | string | 推荐滑点(小数格式,如 “0.03” 表示 3%) |
| priceImpact | string | 价格影响(小数格式) |
| fee | object | 费用详情(可选) |
| fee.totalAmountInUsd | string | 总费用(美元) |
| fee.appFee | object | 对接方手续费详情 |
| fee.platformFee | object | 平台费 |
| fee.gasFee | object | Gas 费 |
| features | []string | 支持 Gas 特性,目前只支持 “no_gas”,表示可用输入代币支付 Gas 费用 |
| eip7702Bindend | bool | 是否绑定 EIP7702 合约 |
| eip7702Contract | string | 已绑定合约地址 |
| eip7702IsBgw | bool | 是否是绑定的 BGW EIP7702 合约 |
2. 创建兑换订单
接口地址: POST /bgw-pro/swapx/order/makeSwapOrder
请求头
| Header | 说明 |
|---|---|
| Content-Type | application/json |
| Partner-Code | <你的合作伙伴代码>(必填) |
请求体参数
| 参数名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fromChain | string | 是 | 源链标识符(例如:“base”、“bnb”、“eth”) |
| fromContract | string | 是 | 源链上的代币合约地址,主链币为空。 |
| fromAmount | string | 是 | 输入代币数量(以代币单位表示) |
| toChain | string | 是 | 目标链标识符 |
| toContract | string | 是 | 目标链上的代币合约地址,主链币为空。 |
| fromAddress | string | 是 | 发起兑换的用户地址 |
| toAddress | string | 是 | 在目标链上接收代币的地址 |
| market | string | 是 | 指定使用的市场/跨链桥(例如:“bkbridgev3.liqbridge”) |
| slippage | string | 否 | 滑点(小数格式,如 “0.03” 表示 3%) |
| feeRate | string | 否 | 对接方的手续费百分比(例如:0.05 表示 5% 手续费) |
| feature | string | 否 | Gas 特性,默认使用用户钱包主链币支付 Gas;如传 “no_gas”,表示使用输入代币支付 Gas。注:需要 getSwapPrice 返回对应特性才能支持。 |
注意:客户端需自行检查发起交易钱包是否足额的主链币余额;当不足时需使用 “no_gas” 特性,将 feature 参数设置为 “no_gas”。
请求示例
# 普通交易 request
curl --location '{API_HOST}/bgw-pro/swapx/order/makeSwapOrder' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"fromChain": "base",
"fromContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"fromAmount": "2",
"toChain": "bnb",
"toContract": "0x55d398326f99059ff775485246999027b3197955",
"fromAddress": "0x2E1276244540B7996fbF4F8DF90229BAD36fB4F5",
"toAddress": "0x2E1276244540B7996fbF4F8DF90229BAD36fB4F5",
"market": "bkbridgev3.liqbridge",
"slippage": "0.03",
"feeRate": "0.05"
}'
# no_gas (EIP7702) 交易 request
curl --location '{API_HOST}/bgw-pro/swapx/order/makeSwapOrder' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"fromChain": "base",
"fromContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"fromAmount": "2",
"toChain": "bnb",
"toContract": "0x55d398326f99059ff775485246999027b3197955",
"fromAddress": "0x2E1276244540B7996fbF4F8DF90229BAD36fB4F5",
"toAddress": "0x2E1276244540B7996fbF4F8DF90229BAD36fB4F5",
"market": "bkbridgev3.liqbridge",
"slippage": "0.03",
"feeRate": "0.05",
"feature": "no_gas"
}'响应示例
普通交易
{
"status": 0,
"error_code": 0,
"data": {
"orderId": "34b34a3391da45928f6c9673fba1a4e8",
"txs": [
{
"kind": "transaction",
"chainName": "base",
"chainId": "8453",
"data": {
"to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"calldata": "0xa9059cbb000000000000000000000000803f5ebe49485745a94205b1f129f63326d5383600000000000000000000000000000000000000000000000000000000001e8480",
"gasLimit": "54526",
"gasPrice": "9000000",
"nonce": 308,
"value": "0",
"baseFee": "5820569",
"maxFeePerGas": "11139700",
"maxPriorityFeePerGas": "2408846",
"supportEIP1559": true
}
}
]
},
"msg": "success",
"title": "",
"timestamp": 1772619146682,
"trace": "Root=1-69a80589-5a8c90f163bf21d31317a994"
}no_gas (EIP7702) 交易
{
"status": 0,
"error_code": 0,
"data": {
"orderId": "ccb8d3f244d64e928ea32f1f8127a7b7",
"signatures": [
{
"kind": "signature",
"chainName": "bnb",
"chainId": "56",
"hash": "0xdbcc895aa03a4c3a286d66fdf6a811884b1d1338f2bef8de7855aa9cb301ff32",
"data": {
"signType": "eip712",
"types": {
"Aggregator": [
{
"name": "chainId",
"type": "uint256"
},
{
"name": "msgSender",
"type": "address"
},
{
"name": "deadline",
"type": "uint256"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "adminContract",
"type": "address"
},
{
"name": "calls",
"type": "Call[]"
}
],
"Call": [
{
"name": "target",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "callData",
"type": "bytes"
}
],
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "version",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
]
},
"primaryType": "Aggregator",
"domain": {
"chainId": "56",
"name": "BW7702Admin",
"verifyingContract": "0x8C80e4d123e1A9E787B74a150D3220Dabf327707",
"version": "1"
},
"message": {
"adminContract": "0x8C80e4d123e1A9E787B74a150D3220Dabf327707",
"calls": [
{
"callData": "0xa9059cbb000000000000000000000000b317d9b4b00c7664381db8f3132c774c3c99398c0000000000000000000000000000000000000000000000000087f027d26b47a8",
"target": "0x55d398326f99059fF775485246999027B3197955",
"value": "0"
},
{
"callData": "0xa9059cbb000000000000000000000000e84e684c634f2d9de3b5ea471c092f998f7d8b6e0000000000000000000000000000000000000000000000001b397d3f7c5cb858",
"target": "0x55d398326f99059fF775485246999027B3197955",
"value": "0"
}
],
"chainId": "56",
"deadline": "1770969477",
"msgSender": "0x0c1A29c1827cf064e7DB0256625a1b5cc16b246A",
"nonce": "5770969357001941564"
}
}
}
]
},
"msg": "success",
"title": "",
"timestamp": 1770969357741,
"trace": "Root=1-698ed90c-0a99621e16d55da149bc0c0c"
}approve + swap 的交易
{
"status": 0,
"error_code": 0,
"data": {
"orderId": "11221652138b4ff095871ae267bded4d",
"txs": [
{
"kind": "transaction",
"chainName": "base",
"chainId": "8453",
"data": {
"to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"calldata": "0x095ea7b30000000000000000000000006d0034c7da87e8f0526b21aa890d40a77c755b68ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"gasLimit": "100000",
"gasPrice": "8121700",
"nonce": 13,
"value": "0",
"baseFee": "5002444",
"maxFeePerGas": "10003666",
"maxPriorityFeePerGas": "2500000",
"supportEIP1559": true
}
},
{
"kind": "transaction",
"chainName": "base",
"chainId": "8453",
"data": {
"to": "0x6D0034c7DA87e8f0526b21aa890d40A77C755B68",
"calldata": "0xd984396a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a793219b9b9219303e718124e1f09f3feca8220a00000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000003561a39eca340000000000000000000000000000000000000000000000000000370849ab9e5000000000000000000000000000000000000000000000000000000000069a83aef0000000000000000000000000000000011221652138b4ff095871ae267bded4d0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0bd56bf09cda7260baa5dfdffcfd844d0bc366c9de2091c6aa06c7eb09de449f600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041e6fa26b66652b4ff1dcd34be62e9612406c3ea47788d33879223f1ba278ca05b11e491a846dfe03e49a9243dc230ea1d62c8cbf4bf176a319243d82ef3cf444f1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d0034c7da87e8f0526b21aa890d40a77c755b68000000000000000000000000be96d4964d89c17c2c8c4d230313b8b6f7f6507a000000000000000000000000e846373c1a92b167b4e9cd5d8e4d6b1db9e90ec7000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291300000000000000000000000060a3e35cc302bfa44cb288bc5a4f316fdb1adb420000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000de956dc64264bb60b6abef225432b8a6b68c81ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a07e22067f556af6cb7d6118adaf94647269a14100000000000000000000000060a3e35cc302bfa44cb288bc5a4f316fdb1adb42000000000000000000000000c1cba3fcea344f92d9239c08c0568f6f2f0ee4520000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a793219b9b9219303e718124e1f09f3feca8220a000000000000000000000000de956dc64264bb60b6abef225432b8a6b68c81ad000000000000000000000000667701e51b4d1ca244f17c78f7ab8744b4c99f9b000000000000000000000000c1cba3fcea344f92d9239c08c0568f6f2f0ee452000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "932679",
"gasPrice": "8121700",
"nonce": 14,
"value": "0",
"baseFee": "5002444",
"maxFeePerGas": "10003666",
"maxPriorityFeePerGas": "2500000",
"supportEIP1559": true
}
}
]
},
"msg": "success",
"title": "",
"timestamp": 1772632695884,
"trace": "Root=1-69a83a77-59bfd5dd5a523e1f1c962760"
}响应字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| orderId | string | 订单 ID,用于后续提交和查询 |
| txs/signatures | array | 待签名的交易数组 / EIP7702 授权消息签名。txs 和 signatures 只会出现一个,详见下方「txs 和 signatures 字段说明」。 |
txs 和 signatures 字段说明
所有操作都遵循以下基本结构:
{
"kind": "transaction | signature",
"chainName": "链名称",
"chainId": "链标识",
"data": {
/* 业务数据字段 */
}
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| kind | string | ✅ | 操作类型:transaction(交易)或 signature(签名)。为 signature 时需关注 data.signType 实现对应签名 |
| chainName | string | ✅ | 链名称:ethereum、bsc、base、arbitrum、solana 等 |
| chainId | string | ✅ | 链标识 |
| data | object | ✅ | 操作的详细数据,根据链和操作类型而异 |
3. 提交兑换订单
接口地址: POST /bgw-pro/swapx/order/submitSwapOrder
请求头
| Header | 说明 |
|---|---|
| Content-Type | application/json |
| Partner-Code | <你的合作伙伴代码>(必填) |
请求体参数
| 参数名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| orderId | string | 是 | 从 makeSwapOrder 接口返回的订单 ID |
| signedTxs | string[] | 是 | 已签名的交易十六进制字符串数组(带 “0x” 前缀) |
请求示例
curl --location '{API_HOST}/bgw-pro/swapx/order/submitSwapOrder' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"orderId": "8d07e1afe0b44485a225f9c0c1afb7a4",
"signedTxs": [
"0x02f8b282210581f1843b9aca00847735940082d4fe94833589fcd6edb6e08f4c7c32d4f71b54bda0291380b844a9059cbb000000000000000000000000803f5ebe49485745a94205b1f129f63326d5383600000000000000000000000000000000000000000000000000000000001e8480c001a02af477359b2a527b16068e47be735a78da9f99f44188c17f987734ba0d5d750da00326f823a5665e57871935df89b52ad670c4a4108ee27016c8bb1b4580e1b1c4"
]
}'
# 提交 approve + swap 的交易签名
curl --location '{API_HOST}/bgw-pro/swapx/order/submitSwapOrder' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"orderId": "8d07e1afe0b44485a225f9c0c1afb7a4",
"signedTxs": [
"0xd4dcc6161a285b3e9cf1ba2ac67e18050b12d5a80584d945c334884a8a904ed171aae6a714c0312151e582818fbece79bf4d0c0f2f641b3b8eb8b956796058441b",
"0xac47da5accbdaf8c792bae19ac6d8a4d298adc9c1d89403a13fd1160193a1f4b3c55ba9d49875bfae0bbdb6135f63d59165cff274e530320d0add90546cb2cc801"
]
}'响应示例
{
"status": 0,
"data": {
"orderId": "8d07e1afe0b44485a225f9c0c1afb7a4"
},
"msg": "success"
}响应字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| orderId | string | 订单 ID |
4. 查询兑换订单
接口地址: POST /bgw-pro/swapx/order/getSwapOrder
请求头
| Header | 说明 |
|---|---|
| Content-Type | application/json |
| Partner-Code | <你的合作伙伴代码>(必填) |
请求体参数
| 参数名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| orderId | string | 是 | 要查询的订单 ID |
请求示例
curl --location '{API_HOST}/bgw-pro/swapx/order/getSwapOrder' \
--header 'Content-Type: application/json' \
--header 'Partner-Code: your_partner_code' \
--data '{
"orderId": "8d07e1afe0b44485a225f9c0c1afb7a4"
}'响应示例
{
"status": 0,
"error_code": 0,
"data": {
"orderId": "deb5e4a45b464d5591bda501c45de854",
"status": "refunded",
"fromChain": "base",
"fromContract": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
"fromAmount": "1.8",
"toChain": "eth",
"toContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"toAmount": "1.454534",
"receiveAmount": "0",
"txs": [
{
"chain": "base",
"txId": "0x9b1bdf8472f34cbc633eed10e0b6a289fcfded46121fc9fa0283a10d914efabb",
"stage": "source",
"tokens": []
},
{
"chain": "base",
"txId": "0xab7dded740a02c0a9d287ccd89dd092a12f729e7ca782bf962b6ec06b0301052",
"stage": "refund",
"tokens": [
{
"symbol": "USDC",
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"amount": "1.790298",
"type": "receive",
"decimals": 6
}
]
}
],
"createTime": 1769440411,
"updateTime": 1769440424
},
"msg": "success",
"title": "",
"timestamp": 1772547586003,
"trace": "Root=1-69a6ee01-47b275fc4a709e6e349fd7f4"
}响应字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| orderId | string | 订单 ID |
| status | string | 订单状态,详见「交易状态」 |
| fromChain | string | 源链标识符 |
| fromContract | string | 源链代币合约地址 |
| fromAmount | string | 发送的代币数量 |
| toChain | string | 目标链标识符 |
| toContract | string | 目标链代币合约地址 |
| toAmount | string | 预期到账数量 |
| receiveAmount | string | 实际到账数量(订单成功后显示) |
| txs | array | 交易列表 |
| message | string | 错误信息(失败时显示) |
| createTime | int64 | 订单创建时间(Unix 时间戳,秒) |
| updateTime | int64 | 订单最后更新时间(Unix 时间戳,秒) |
交易对象 (txs[]) 字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| chain | string | 交易所在链 |
| txId | string | 交易哈希 |
| stage | string | 交易阶段:source=源链发起的交易, target=目标链收到的交易, swap=同链 swap, refund=退款的 tx |
| tokens | array | 该 tx 中涉及到的 tokens,目前主要用于退款 token 的显示 |
交易状态
| status | 说明 |
|---|---|
| init | 创建了订单,但尚未通过 submitSwapOrder 提交签名 |
| processing | 进行中 |
| success | 订单成功 |
| failed | 订单失败 |
| refunding | 退款中 |
| refunded | 已退款 |
Resources
支持的链列表
chainID为请求参数中的fromChain和toChain
| chains | chainID | 是否支持同链 | 是否支持跨链 | noGas 使用门槛 (USD) |
|---|---|---|---|---|
| Ethereum | eth | ✅ | ✅ | 5 |
| Solana | sol | ✅ | ✅ | 5 |
| Bsc | bnb | ✅ | ✅ | 5 |
| Base | base | ✅ | ✅ | 5 |
| Arbitrum | arbitrum | ✅ | ✅ | 5 |
| Polygon | matic | ✅ | ✅ | 5 |
| Morph | morph | ✅ | ✅ | 1 |
当订单金额(USD)≥ 该值时,支持 no_gas 特性(使用输入代币支付 Gas)。
跨链限额
| From chain | liqBridge 限额 | CCTP 限额 |
|---|---|---|
| Ethereum | 1U-200,000U | 0.1U-500,000U |
| Solana | 10U-200,000U | ❌ |
| Bsc | 1U-200,000U | ❌ |
| Base | 1U-200,000U | 0.1U-500,000U |
| Arbitrum | 1U-200,000U | 0.1U-500,000U |
| Polygon | 1U-50,000U | 0.1U-500,000U |
| Morph | 5U-50,000U | 0.1U-500,000U |
Fees 说明
费用类型
系统中包含以下几种费用类型:
1. 平台费用 (Platform Fee)
- 说明:平台服务费,用于支持平台运营和维护。
- 计算方式:基于交易金额按百分比收取
- 扣除时机:在跨链桥上链或兑换过程中扣除
- 包含内容:平台服务费
2. 对接方手续费 (App Fee)
- 说明:对接方可以设置的自定义手续费
- 计算方式:
- 按比例:通过
feeRate参数设置百分比(例如:0.05 表示 5%) - 固定金额:支持设置固定金额的手续费
- 按比例:通过
- 分佣方式:先留在平台方,定期结算
- 配置位置:在 getSwapPrice 和 makeSwapOrder 请求中通过
feeRate参数设置
费用结构
费用信息在响应中以 fee 对象返回:
{
"fee": {
"totalAmountInUsd": "0.15",
"appFee": {
"amountInUsd": "0.10"
},
"platformFee": {
"amountInUsd": "0.03"
}
}
}错误码说明
- 所有接口遵循同一套错误码格式,不同报错差别在于返回的
error_code和message不同。 - 调用方可按以下顺序实现错误处理逻辑:
- 判断 HTTP statusCode 是否等于 200,否则直接错误提示
- 判断 response 中
status是否等于 0:若为 0 则解析data;若为 1 则说明该请求异常,执行下一步 - 根据
error_code匹配下方错误码列表执行对应处理;若遇到不认识的error_code,全部 fallback 到 80000
错误码列表
| 错误码 | 说明 |
|---|---|
| 80000 | 系统内部错误,接入方无法主动规避,需联系我方排查或重试 |
| 80001 | 代币余额不足 |
| 80002 | 交易金额低于最小限制 |
| 80003 | 交易金额超过最大限制 |
| 80004 | 订单已过期 |
| 80005 | 流动性不足,当前无法完成交易 |
| 80006 | 请求参数非法(格式错误、缺失必填字段、值超出范围等) |
| 80007 | Partner 不存在或无效 |
| 80008 | 反向询价计算未收敛(仅 PayFi Swap 的 minAmountOut 模式) |
| 80009 | 获取代币信息失败(代币不存在或服务异常) |
| 80010 | 获取代币价格或 Gas 价格失败 |
| 80011 | 生成交易 calldata 失败(仅 PayFi Swap) |
| 80012 | 询价失败(无可用报价、所有市场均失败等) |
| 80013 | 不支持的链(链配置不存在或无可用市场) |
| 80014 | 订单不存在(仅 Order 模式接口) |
| 80015 | 订单已提交,不可重复提交(仅 Order 模式接口) |
异常响应示例
{
"status": 1,
"error_code": 80000,
"data": null,
"msg": "system err",
"title": "",
"timestamp": 1769580545990,
"trace": "Root=1-6979a801-6ba8a7696bc0d4256c5b603c"
}高级模式
如需使用高级交易模式,请参阅 高级模式文档。
Last updated on


