Skip to Content
Zh CnDocs
交易 API
指令模式

指令模式 API

概述

  1. 接入时提前协定商家代码,通过header传入:Partner-Code;
  2. 目前支持的链:ETH, SOL, BNB chain, Base, Polygon, Arbitrum, Morph,其它链的接入需要提前告知;
  3. 交易手续费:
    • 目前支持的手续费方式为代收,按周期结算;
    • 自定义收费地址正在建设中;

HTTP状态码定义

状态码说明
200success
400Bad Request
403Forbidden(未加白名单或者是签名错误)
429Too many requests(被限频)

询价接口

请求路径: /bgw-pro/swapx/pro/quote

请求方法: POST

请求参数:

字段名字段类型是否必传字段说明
fromSymbolstring源代币名称
fromContractstring源代币合约地址,主链币传空字符串
fromAmountstring询价金额(input amount)
fromChainstring源链
toSymbolstring目标代币名称
toContractstring目标代币合约地址,主链币传空字符串
toChainstring目标链
fromAddressstring扣款地址,预估gas会用到,若不传则使用默认地址进行预估Gas
toAddressstring接收地址
txOriginstring传递给 RFQ 做市商用于识别交易发起方的地址,帮助其区分不同类型的交易流。可选;未传时默认回退到 fromAddress。详见下方”关于 txOrigin”。
estimateGasbool是否估算gas,默认false,需和fromAddress搭配使用
marketstring指定询价渠道,例如uniswap.v3,pancakeswap。默认则使用所有支持的market
feeRatenumber千分位的手续费率,默认使用渠道配置的手续费率,免手续费则传0;非0时取值范围为0.001-0.2
solMaxAccountsstring最大账户数,默认无限制,只适用于SOL链(限制账户数会影响价格优势)

请求参数示例:

{ "fromSymbol": "USDT", "fromContract": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", "fromAmount": "1", "fromChain": "sol", "toSymbol": "USDC", "fromAddress": "ApPjjUmJuraNuFZ2n41TBzdshd3pmDEQvH6hFukQ1Yv2", "toChain": "sol", "toContract": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "estimateGas": true, "skipCache": true }

关于 txOrigin

当提供 txOrigin 时,它可以帮助 RFQ 做市商在路由和风控模型中更好地区分不同类型的交易流。

  • 为什么有帮助。 按业界通行做法,做市商会参考诸如”交易发起方”这样的信号来细化对订单流的定价。传入 txOrigin 可以让做市商更清楚地识别出该报价对应的是最终用户的真实交易行为;在某些情况下,这可能带来比仅暴露合约或结算相关地址时更紧的价差或更优的报价。
  • 不传会怎样。 不会中断任何功能。未传 txOrigin 时,接口会回退到既有默认行为(例如使用结算相关地址作为上下文)。报价依然有效,只是上游在做交易流分类时能获得的差异化信息较少。
  • 建议。 在产品形态合适时集成 txOrigin 是可选的,可以按节奏逐步推出。如果与你的技术栈契合,传递该字段可能改善你的用户流量在流动性提供方侧的呈现;如不合适,继续按原方式调用即可。

响应说明:

参数名称参数类型是否必填参数说明
statusnumber必须请求码,0为成功
dataobject必须-
toAmountstring必须输出数量
marketstring必须渠道名称
estimateRevertbool必须是否预估交易会回退
slippagestring必须滑点
computeUnitsnumber非必须sol链tx compute unit消耗
gasLimitnumber非必须gas limit预估

响应示例:

{ "status": 0, "data": { "toAmount": "1.000972", "market": "jupiter.router", "slippage": "2", "estimateRevert": true, "gasLimit": 0, "computeUnits": 650000 } }

获取calldata接口

请求路径: /bgw-pro/swapx/pro/swap

请求方法: POST

请求参数:

字段名字段类型是否必传字段说明
fromSymbolstring源代币名称
fromContractstring源代币合约地址,主链币传空字符串
fromAmountstring卖出数量(input amount)
fromChainstring源链
toSymbolstring目标代币名称
toContractstring目标代币合约地址,主链币传空字符串
toChainstring目标链
toMinAmountstring最小收到数量,不传则使用滑点计算得到
fromAddressstring扣款地址
toAddressstring收款地址
txOriginstring传递给 RFQ 做市商用于识别交易发起方的地址,帮助其区分不同类型的交易流。可选;未传时默认回退到 fromAddress。详见下方”关于 txOrigin”。
slippagenumber滑点,单位为百分比(如传1表示1%),默认使用系统配置的滑点
marketstring询价接口返回的最优渠道
feeRatenumber基于千分位手续费率,默认使用渠道配置的手续费率,免手续费则传0;非0时取值范围为0.001-0.2
executorAddressstring执行合约地址,如果不用fromAddress发起交易,则需要传入执行合约地址
solMaxAccountsstring最大账户数,默认无限制,只适用于SOL链
feePayerstring手续费支付地址,默认使用fromAddress支付SOL链的账户创建费用
deadlinenumber交易过期时间,单位秒;未传或为 0 时按源链 fromChaineth 默认 300 秒,其它链默认 120 秒;deadline 最长 10 分钟
protocolsstring协议列表,默认使用所有支持的协议
requestModstring请求模式,可选值为 “simple” 或 “rich”

请求参数示例:

{ "fromSymbol": "USDT", "fromContract": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", "fromAmount": "0.5", "fromChain": "sol", "toSymbol": "USDC", "fromAddress": "ApPjjUmJuraNuFZ2n41TBzdshd3pmDEQvH6hFukQ1Yv2", "toAddress": "ApPjjUmJuraNuFZ2n41TBzdshd3pmDEQvH6hFukQ1Yv2", "toChain": "sol", "toContract": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "slippage": 1, "toMinAmount": "0.4", "market": "bgw.aggregator" }

关于 txOrigin

当提供 txOrigin 时,它可以帮助 RFQ 做市商在路由和风控模型中更好地区分不同类型的交易流。

  • 为什么有帮助。 按业界通行做法,做市商会参考诸如”交易发起方”这样的信号来细化对订单流的定价。传入 txOrigin 可以让做市商更清楚地识别出该报价对应的是最终用户的真实交易行为;在某些情况下,这可能带来比仅暴露合约或结算相关地址时更紧的价差或更优的报价。
  • 不传会怎样。 不会中断任何功能。未传 txOrigin 时,接口会回退到既有默认行为(例如使用结算相关地址作为上下文)。报价依然有效,只是上游在做交易流分类时能获得的差异化信息较少。
  • 建议。 在产品形态合适时集成 txOrigin 是可选的,可以按节奏逐步推出。如果与你的技术栈契合,传递该字段可能改善你的用户流量在流动性提供方侧的呈现;如不合适,继续按原方式调用即可。

响应说明:

参数名称参数类型是否必填参数说明
statusnumber必须请求码,0为成功
dataobject必须-
idstring必须订单id
marketstring必须渠道名称
contractstring非必须合约地址,EVM链会返回对应合约地址
calldatastring必须calldata
deadlinenumber必须订单超时时间(秒)
computeUnitsnumber非必须SOL链tx compute unit消耗
addressLookupTableAccountstring[]非必须仅 SOL:Address Lookup Table 公钥列表,与 instructionLists 配合组装 Versioned Transaction
instructionListsobject[]非必须仅 SOL:指令列表,默认返回可用于组装交易的指令数据

SOL 链上 calldata 仍返回序列化数据;addressLookupTableAccountinstructionLists 用于在客户端组装链上交易。

响应示例(EVM):

{ "status": 0, "error_code": 0, "data": { "id": "fbc288e957b14524b20ebcdd8a7fc740", "market": "bgwevmaggregator", "contract": "0x6D0034c7DA87e8f0526b21aa890d40A77C755B68", "calldata": "0xd984396a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000ff7d6a96ae471bbcd7713af9cb1feeb16cf56b41000000000000000000000000d8febd1c242a282f1b8226d34282942f6f63248b000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000001953035fe9b0ae410000000000000000000000000000000000000000000000000000000069bcec8600000000000000000000000000000000fbc288e957b14524b20ebcdd8a7fc7400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e04ee3c15060ef3235618b11c4344303793eaac7310811765c0a4ad141864dfc0100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041cfb144b7d769f5e777b9646b5a86936af75585cb0646c369a152b5db1fb1263f07a56f6728e5b5ff206a46fd9c644130234b9cd8458736b35bb8980760bada711c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d0034c7da87e8f0526b21aa890d40a77c755b6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e58f160b5b77b8b24cd9900c09a3e730215ac4700000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000000ae314e2a2172a039b26378814c252734f556a0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000006d0034c7da87e8f0526b21aa890d40a77c755b680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c9d8a69a6c4b84aa1999220e831be07f2ef96000000000000000000000000000ae314e2a2172a039b26378814c252734f556a000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d8febd1c242a282f1b8226d34282942f6f63248b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce94aba9086f408b3f2af4e8b5ac1abc42f4da9a000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000ff7d6a96ae471bbcd7713af9cb1feeb16cf56b410000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000", "deadline": 120, "computeUnits": 650000 }, "msg": "success", "title": "", "timestamp": 1773988879125, "trace": "Root=1-69bcec0e-5447a0b1395a5f57335d6a44" }

响应示例(EVM,requestMod=rich):

{ "status": 0, "error_code": 0, "data": { "id": "b03f0028797e4f8a946fa16594e9cf64", "market": "bgwevmaggregator", "deadline": 120, "outAmount": "0.934866203718378777", "minAmount": "0.1", "slippage": "20.00", "priceImpact": "0.0212", "fromTokenPrice": "1", "toTokenPrice": "0.10923653173754198", "predeductAmount": "0", "postdeductAmount": "0", "routePath": [ { "pool_addr": "0x575c0f239ebf129edc646b2874ca8eaf3b7fbf9b", "label": "PancakeSwapV2", "from_contract": "0x55d398326f99059ff775485246999027b3197955", "to_contract": "0x0dcd05357b83bf100e668f152bf14bf96b679cd1", "from_amount": "100000000000000000", "to_amount": "275672358203408264939", "percent": 100, "from_decimal": 18, "to_decimal": 18, "block_height": "93961602" }, { "pool_addr": "0x1e94be8f95a44c4288ec32f149cbf2dc3f496851020bed33d6147398e698e862", "label": "PancakeInfinityCl", "from_contract": "0x0dcd05357b83bf100e668f152bf14bf96b679cd1", "to_contract": "0xff7d6a96ae471bbcd7713af9cb1feeb16cf56b41", "from_amount": "275672358203408264939", "to_amount": "934866203718378777", "percent": 100, "from_decimal": 18, "to_decimal": 18, "block_height": "93955989" } ], "gasFee": { "gasLimit": "493594", "gasPrice": "0.0000000001875", "gasFeeAmountInUsd": "0.0593523402691950396289125", "gasTotalAmount": "0.000092548875", "gasLevel": "fast", "gasLevelInfos": { "average": { "gasPrice": "0.14375", "weiDecimals": 9, "gasLimit": "493594", "baseFee": "0", "priorityFee": "0", "maxFeePerGas": "0", "gasFeeRate": "0", "info": [ { "type": "basic", "amount": "0.0000709541375", "amountUSD": "0.04550346087304953038216625" } ] }, "fast": { "gasPrice": "0.1875", "weiDecimals": 9, "gasLimit": "493594", "baseFee": "0", "priorityFee": "0", "maxFeePerGas": "0", "gasFeeRate": "0", "info": [ { "type": "basic", "amount": "0.000092548875", "amountUSD": "0.0593523402691950396289125" } ] }, "slow": { "gasPrice": "0.125", "weiDecimals": 9, "gasLimit": "493594", "baseFee": "0", "priorityFee": "0", "maxFeePerGas": "0", "gasFeeRate": "0", "info": [ { "type": "basic", "amount": "0.00006169925", "amountUSD": "0.039568226846130026419275" } ] } } }, "swapFee": { "swapType": 3, "feeType": 0, "feeRate": "0", "feeChain": "bnb", "feeSymbol": "USDT", "feeContract": "0x55d398326f99059ff775485246999027b3197955", "feeDecimals": 18, "feeTokenPrice": "1", "feeDueAmount": "0" }, "swapTransaction": { "chain": "bnb", "symbol": "USDT", "contract": "0x55d398326f99059ff775485246999027b3197955", "from": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "to": "0x6D0034c7DA87e8f0526b21aa890d40A77C755B68", "receiver": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "data": "0xd984396a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000ff7d6a96ae471bbcd7713af9cb1feeb16cf56b41000000000000000000000000d8febd1c242a282f1b8226d34282942f6f63248b000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000cf94fdbf126e5190000000000000000000000000000000000000000000000000000000069e857ce00000000000000000000000000000000b03f0028797e4f8a946fa16594e9cf640000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e048d1e60dd41e321f791d2f9b4b42ebd8e07c9880c0f3acf723ca7de3f57937f00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004182d3db9581f0088f75a0e6c6818f05cc10caa423724e961d6172d211799a6b0e73cd7ad65435d51d1f65a43f25044be9950abd2fabadc7025bb512c8824543391b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068d04638eb46cd37c7b4ae316ac1da4a330c75c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000575c0f239ebf129edc646b2874ca8eaf3b7fbf9b00000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000000dcd05357b83bf100e668f152bf14bf96b679cd10000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000d8febd1c242a282f1b8226d34282942f6f63248b00000000000000000000000068d04638eb46cd37c7b4ae316ac1da4a330c75c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcd05357b83bf100e668f152bf14bf96b679cd1000000000000000000000000ff7d6a96ae471bbcd7713af9cb1feeb16cf56b41000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000dcd05357b83bf100e668f152bf14bf96b679cd1000000000000000000000000ff7d6a96ae471bbcd7713af9cb1feeb16cf56b41000000000000000000000000000000000000000000000000000000000000029e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0ffb9c1ce1fe56963b0321b32e7a0302114058b0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "value": "0", "gasAmount": "493594", "gasAmountUsd": "0.0593523402691950396289125", "gasPrice": "0.0000000001875" } }, "msg": "success", "title": "", "timestamp": 1776834391170, "trace": "Root=1-69e85756-0f9dcd661f2489e8111c787d" }

响应示例(SOL 链,含指令列表)

以下示例中 instructionLists 内单条指令的 accounts 仅保留前几项;线上以实际 swap 路由返回为准。

{ "status": 0, "error_code": 0, "data": { "id": "6a49cf127d4c44daa9b31b379be26735", "market": "jupiter", "contract": "", "calldata": "29WN6gXVcTCRZnFQxbG5ojxY3Q8vX5GJH9hFGU4VPVZegrcTroNpBuXrxCPLkPohU8rZBJQKGPREdy4oyZTGxrfrFZ4gbQiwxivqpxHgMHJ7Bs4unPDUEf7GzwcjNJp8jmN1hDyuatWt9SR5HAaBzgMkmEzR2tM57dhiKzabAxKAYaHbHrfTYaVdDoFx9MTRkVGqbjimAKL2ARMACLhbP73zcKBcyxB7exvhVd34KEGjBpht98fmQGfhSQf2wPg6oGEkyfDVGGiCF7UCQAfzg4o6pSNdrnZjzFh2URMtTL7eheU2evMzLFiLZFmoAs6vwtHD7yNLsqacWWTRG3QQA4kBSAg46kcszSVVUUztvdXp43c3e3XTjhYqDKYzz1RGHenGVXw4sQuqZQgC5McxAxthGEE8GtwzyDofbrdnKdPtHX1VXXUx6Mk3sqSKLVYLy198n17zf4L9qQqN2j6kN8kDFxyH3BPYoVrKu9LPdbZeHQxzDbZ7zBFAx3bzfto34ityKwQnairyDGaR7AJUF2VQc5awv1LvvvTxWhQNQUiTu1RDXX6UxhcLsnrsfVSgNmMSm2wDz71Z17ZmTXmLkUoNvovKAnP3J6RGBpSPhnxWM3sYKNKBqUrXTp3buGSRhKSkL1pSYeXBCM3Lw2bvP8kdgVLWyPQcy2xenHp3JzfWzJwVX4P3zafxiT3erdU9GFVU4pVkVsdPuA1Dkk6JgQxP9j5AbLjhnp5CXSpCF2kc1gJJNcRcyUiAoSNijjvn1iHEnpgrLtDKWWQr5sZyReBqG1v9QQNpg8CLfQ1t1i7Hs6fzanGDVsndVDDhgsFkgw8rRaHXvsv1bM687ZqyRET1gLJSv2FefZnfW22CQfem5mQ5EzQwgN9jjZa9KtCEq64FzYzAUV9xjn34TX6HVT5Lm4LuENVfFZzY3fC9bbdwXu8XdGMxb55nRYChvRDnJBnpbkHm6Ns6EpH5RkmTuRe3SyYEt1VyagaCJHBAjc6Nj1JnFhpDsTFxBe98Ncgy7oW6oaeUJJi1pkRX", "deadline": 120, "computeUnits": 650000, "addressLookupTableAccount": [ "BDqppwFYeMpUicN9xbfoM7FgRnHVW1uTUtrGA7uG2vQg", "6JjsmWMgQtjUrBmA1obh4NZpc2CPqLcQ9cRPd2C5WBoM", "3PiDGEeehivGdhkmLt6Rzyo6mhmogYXtgAjurb25NxxW" ], "instructionLists": [ { "programId": "ComputeBudget111111111111111111111111111111", "accounts": [ { "pubkey": "jitodontfront111111111111111111BitgetWaLLet", "isSigner": false, "isWritable": false } ], "data": "AtDdBgA=" }, { "programId": "ComputeBudget111111111111111111111111111111", "accounts": [], "data": "AzgBAwAAAAAA" }, { "programId": "JUPSjgjMFjU4453KMgxhqVmzep6W352bQpE4RsNqXAx", "accounts": [ { "pubkey": "4Hzo3UJyRq3La26EW8Ft2tUP9efwLoADbBRuQSDWY7ts", "isSigner": false, "isWritable": false }, { "pubkey": "ApPjjUmJuraNuFZ2n41TBzdshd3pmDEQvH6hFukQ1Yv2", "isSigner": true, "isWritable": true }, { "pubkey": "5qvgoghnGteY5GbA124TFD1numU7Vdf6ejKg8PhNN3XL", "isSigner": false, "isWritable": true } ], "data": "0ZhTk3z+2OkAIKEHAAAAAABdlwcAAAAAAGQAMgAAAAIAAAAaECcAAXYzrCwsepkElAEQJwEC" } ] }, "msg": "success", "title": "", "timestamp": 1773987742783, "trace": "Root=1-69bce79d-502560c342f7fc8f60263650" }

反向询价 Swap 接口

反向询价 Swap 接口将询价和交易构建合并为一次调用,支持两种交易模式:

  • exactIn(精确输入模式):用户指定输入代币数量,系统计算预期输出数量。
  • minAmountOut(最小输出模式):用户指定期望获得的最小输出代币数量,系统通过反向询价算法计算所需输入数量。如果链上执行过程不满足 amount 则 revert。

请求路径: /bgw-pro/swapx/pro/swapr

请求方法: POST

请求参数:

字段名字段类型是否必传默认值字段说明
fromChainstring-链标识,如 solethbnbbase
fromContractstring-源代币合约地址(主链币传空字符串 ""
toContractstring-目标代币合约地址(主链币传空字符串 ""
amountstring-金额(精度为代币 decimals),含义取决于 requestMode
requestModestring-请求模式,可选值:exactIn / minAmountOut
fromAddressstring-用户钱包地址(扣款地址),长度 1-256
toAddressstring-收款地址,长度 1-256
slippagestring"0.5"滑点容忍度百分比(如 "0.5" 表示 0.5%)
feeRatefloat64-手续费率(千分位),必须为0,或在0.001-0.2范围内
deadlineint按链交易过期时间(秒);未传或为 0 时按 fromChaineth 默认 600 秒,其它链默认 300 秒;deadline 最长 10 分钟
executorAddressstring-执行合约地址(非 fromAddress 发起交易时需要)

requestMode 说明:

模式amount 含义说明
exactIn用户要输入的代币数量正向询价:给定输入,计算输出
minAmountOut用户期望的最小输出代币数量反向询价:给定期望输出,算法自动计算所需输入

请求参数示例(exactIn 模式):

{ "fromChain": "bnb", "fromContract": "0x55d398326f99059ff775485246999027b3197955", "toContract": "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d", "amount": "1", "requestMode": "exactIn", "fromAddress": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "toAddress": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "slippage": "0.5", "feeRate": 0.003 }

请求参数示例(minAmountOut 模式):

{ "fromChain": "bnb", "fromContract": "0x55d398326f99059ff775485246999027b3197955", "toContract": "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d", "amount": "1", "requestMode": "minAmountOut", "fromAddress": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "toAddress": "0xd8FeBD1C242a282f1b8226d34282942F6F63248b", "slippage": "0.5", "feeRate": 0.003 }

响应说明:

参数名称参数类型是否必填参数说明
statusnumber必须请求码,0为成功
dataobject必须-
idstring必须订单 ID
amountInstring必须输入金额
expectedAmountOutstring必须预期输出金额
minAmountOutstring必须最小输出金额
priceImpactstring必须价格影响百分比
recommendSlippagenumber必须推荐滑点
expiresAtnumber必须过期时间戳(unix 秒)
marketstring必须渠道名称
txs[]object必须交易列表
feeobject必须手续费详情

txs 数组元素:

参数名称参数类型是否必填参数说明
chainIdnumber必须链 ID
tostring必须目标合约地址
calldatastring必须交易 calldata
functionstring必须函数名称
gasLimitstring必须Gas 限制
gasPricestring必须Gas 价格
noncenumber必须Nonce
valuestring必须交易金额

fee 对象:

参数名称参数类型是否必填参数说明
totalAmountInUsdstring必须总手续费(美元)
platformFeeobject必须平台手续费详情
platformFee.amountInUsdstring必须平台手续费(美元)
platformFee.items[]object必须手续费明细

响应示例:

{ "status": 0, "data": { "id": "2dde9b1da4044957aec42e9e93416717", "amountIn": "1", "expectedAmountOut": "0.9969249606918065", "minAmountOut": "0.9919403358883475", "priceImpact": "0.25", "recommendSlippage": 1, "expiresAt": 1770620790, "market": "bgwevmaggregator", "txs": [ { "chainId": 56, "to": "0x6D0034c7DA87e8f0526b21aa890d40a77C755B68", "calldata": "0xd984396a...", "function": "swap", "gasLimit": "752325", "gasPrice": "0.0000000001875", "nonce": 235, "value": "0" } ], "fee": { "totalAmountInUsd": "0.003", "platformFee": { "amountInUsd": "0.003", "items": [ { "token": { "chain": "bnb", "address": "0x55d398326f99059ff775485246999027b3197955", "symbol": "USDT", "decimals": 18 }, "amount": "0.003", "amountInUsd": "0.003" } ] } } } }

MEV批量发送

请求路径: /bgw-pro/swapx/pro/send

请求方法: POST

请求参数:

参数名称参数类型是否必填说明
chainstring链名称,最大64字符
txs[]object交易列表,最多100个

txs数组元素:

参数名称参数类型是否必填说明
idstring订单id,最大128字符
chainstring链名称,最大64字符
rawTxstring上链tx数据,最大8192字符
fromstring订单发送者地址,最大128字符
noncenumbernonce,最小值为0
providerstring发送提供者,最大128字符

请求参数示例:

{ "chain": "bnb", "txs": [ { "id": "34bbf08b6ca5bb9d19e2b0e9715d82f6", "chain": "bnb", "rawTx": "0xabc...", "from": "0xabc", "nonce": 1, "provider": "" } ] }

响应说明:

参数名称参数类型是否必填参数说明
statusnumber必须请求码,0为成功
data[]object必须-
idstring必须订单id
txHashstring必须txHash
codestring非必须响应码,0为成功
messagestring必须错误说明

响应示例:

{ "status": 0, "data": { "result": [ { "id": "34bbf08b6ca5bb9d19e2b0e9715d82f6", "code": 0, "txHash": "2T4UR7tsgiPQsJuEYMwu8wNzukdjzoLgqTNBQ1KgL13nX7CUTQeEkNz8sEiGA35fCvt7MCNsgRGohFLg9dg932jr" } ] } }

solana 获取免手续费交易签名接口

适用于接入方根据 Solana 指令自行构造免手续费交易后,需由 BGW 服务端完成联签的场景;接口返回带签名的序列化 transaction,供后续广播等步骤使用。

请求路径: /bgw-pro/swapx/pro/signBgwSolTx

请求方法: POST

请求参数:

字段名字段类型是否必传字段说明
chainstring链标识,固定传 sol
transactionstring序列化后的 Solana 交易(如 Base58 编码);长度 1~4096 字符

请求参数示例:

{ "chain": "sol", "transaction": "3TXwb8T2kyg7hY4DanwQ9m3UJGqUAJxxo99vevVQLSvNoCQFhmmjZyBBVkEhHGXe78hv9Z4W1jSgvV6PBHpCuD3vjuqcBshwnM6piPYwVLyS1Xyzv9t3VWHTqdhi61eWFbxfLauPBHZVpYQ7bMCQidMTFmnXnyyCEngraE85RgzxQe1mBbBhsHGcYyaTjszNtZkeMvTMitRQ8M6bxk31BdBUGssxyxKJFTCgtwxPDUL5vKjZ3gYHC2e7whhu2KMB9UcVkEUa9qSt1ztzq1xTGwsxEHVNWvecBPsbKKHZwwybXD8eY9QME3XaEgkw2gQvr4pEjtk8zxMJqschjG4NVyGjXLSUaKe71YkDR2uiJQ2UEA58hqDbrWWgYCT3fvVvwCTXUr7EBFPwyLDF2hgzdD3z1PsX9RAwdFCJhXv1iLaHrL9rtYVjPW83JXoQsHaTADF1kMmGAPXcTBCAGMyUrWzxv6zYp363bn51m9wdKPwJSm5DcX3tb6w7mo51JcVzFCE3z1H5KxbRGCZoc8hn6XQit831DAL15Vgr8m6bNuvRQGrQdFRVnAf8MsRrDQdPENgndXLnaJVpGjMjn4U832bPeMLKUfjKv9YwWtdaRXNf8SHifX7uj8sUsThaQM6kJ4WZiJWqhwEfEJQ4kVC6ZTLm5smiLqvgxmcNt6c55PzdEFSoanDSX8D9Ud8AmeK6oREWkqPCDnP7xJjMQCWUQxZTGwWw1gUqEtkp9a1nUkx8R2bfDa4oJ8gpWmDUiGCNxgitas9FSMtXHVtQuEKoNGTYoE2Bxu8MbVNtPJVMwfTw86wk8jsbxve4iJGN5oTnrarkPo2QJJTQZXG6kpWzPrtgHMLvJ6tTSNc19576habsqBY2GgdVHxib2SHJ8JbAfnk75THqwK65t2knb53hKGANwpP2rQBRcsiUXW6CeN7qcmRkdamncazebFwJYCG4CC6ZWKCxN2xMfSLiQgcemSCPPPzbN2u4Yd6pwdYwpgBzSumNiE" }

响应说明:

参数名称参数类型是否必填参数说明
statusnumber必须请求码,0 为成功
error_codenumber非必须错误码,0 为成功
dataobject必须业务数据
data.transactionstring必须联签后的序列化 Solana 交易
msgstring非必须提示信息
titlestring非必须标题
timestampnumber非必须时间戳
tracestring非必须链路追踪 ID

响应示例:

{ "status": 0, "error_code": 0, "data": { "transaction": "3TXwb8T2kyg7hY4DanwQ9m3UJGqUAJxxo99vevVQLSvNoCQFhmmjZyBBVkEhHGXe78hv9Z4W1jSgvV6PBHpCuD3vjuqcBshwnM6piPYwVLyS1Xyzv9t3VWHTqdhi61eWFbxfLauPBHZVpYQ7bMCQidMTFmnXnyyCEngraE85RgzxQe1mBbBhsHGcYyaTjszNtZkeMvTMitRQ8M6bxk31BdBUGssxyxKJFTCgtwxPDUL5vKjZ3gYHC2e7whhu2KMB9UcVkEUa9qSt1ztzq1xTGwsxEHVNWvecBPsbKKHZwwybXD8eY9QME3XaEgkw2gQvr4pEjtk8zxMJqschjG4NVyGjXLSUaKe71YkDR2uiJQ2UEA58hqDbrWWgYCT3fvVvwCTXUr7EBFPwyLDF2hgzdD3z1PsX9RAwdFCJhXv1iLaHrL9rtYVjPW83JXoQsHaTADF1kMmGAPXcTBCAGMyUrWzxv6zYp363bn51m9wdKPwJSm5DcX3tb6w7mo51JcVzFCE3z1H5KxbRGCZoc8hn6XQit831DAL15Vgr8m6bNuvRQGrQdFRVnAf8MsRrDQdPENgndXLnaJVpGjMjn4U832bPeMLKUfjKv9YwWtdaRXNf8SHifX7uj8sUsThaQM6kJ4WZiJWqhwEfEJQ4kVC6ZTLm5smiLqvgxmcNt6c55PzdEFSoanDSX8D9Ud8AmeK6oREWkqPCDnP7xJjMQCWUQxZTGwWw1gUqEtkp9a1nUkx8R2bfDa4oJ8gpWmDUiGCNxgitas9FSMtXHVtQuEKoNGTYoE2Bxu8MbVNtPJVMwfTw86wk8jsbxve4iJGN5oTnrarkPo2QJJTQZXG6kpWzPrtgHMLvJ6tTSNc19576habsqBY2GgdVHxib2SHJ8JbAfnk75THqwK65t2knb53hKGANwpP2rQBRcsiUXW6CeN7qcmRkdamncazebFwJYCG4CC6ZWKCxN2xMfSLiQgcemSCPPPzbN2u4Yd6pwdYwpgBzSumNiE" }, "msg": "success", "title": "", "timestamp": 1775188741824, "trace": "Self=1-69cf3b05-05097b5d0904b9b205b0e724;Root=1-69cf3b05-5fe728c6465019be259385b1;9e6528829a451e1d" }

聚合器双通道模式

聚合器支持 Fast 模式全量模式两种报价通道。Fast 模式稳定高效,适合中小体量;全量模式覆盖更多 RFQ 源,报价空间更大,适合大单场景,建议配合预执行使用。

详细介绍请参阅:聚合器双通道介绍


扩展阅读

Last updated on