输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
Hyperliquid
Lighter
edgeX
Aster
Aevo
Pendle
WOOFi Pro
Uniswap / PancakeSwap
Aerodrome / Velodrome
KyberSwap
1inch
EVM DEX通用指令
Jupiter
OKX DEX
DEX策略示例
预测市场
证券与期货
链上与自定义接入

Pendle(现货):交易Pendle的PT(本金代币)和YT(收益代币)。一个交易所对象对应一条链上的一个钱包:市价单通过Pendle的兑换接口生成交易,限价单挂在Pendle的限价单簿上,交易与订单都由托管者用配置的私钥签名。支持Ethereum、Arbitrum、Base、BNB Chain、HyperEVM、Plasma、Robinhood、Monad、X Layer。

Futures_Boros(期货):交易Pendle Boros的资金费率互换(收益率单位YU):在Arbitrum上的链上订单簿里按固定年化利率买卖各永续交易所(Hyperliquid、Binance、OKX、Gate、KuCoin、Bybit、Lighter等)的资金费率,到期前每小时结算一次。一个交易所对象对应一个钱包的一个Boros子账户(全仓)。下单不花钱包的ETH:托管者用钱包私钥派生一个代理密钥,第一次下单时由钱包签名授权它,之后每笔订单由代理签名、经Pendle中继上链,中继费用从Boros账户的gas余额扣除。

名称与配置
exchange.GetName()类型别名
Pendle现货Pendle Finance、PT、YT
Futures_Boros期货Boros、Pendle Boros、Futures_Boros

✓ 表示该交易所对象有这个配置项。

配置项PendleFutures_Boros必填默认值说明
链✓是Ethereum钱包和交易所在的链,同时决定默认节点与原生币名称。可选:Ethereum、Arbitrum、Base、BNB Chain、HyperEVM、Plasma、Robinhood、Monad、X Layer
钱包私钥✓是—EVM钱包私钥(十六进制)。
节点地址✓否https://ethereum-rpc.publicnode.com,https://eth.drpc.orgRPC节点,多个用逗号分隔,某个节点出错时自动换下一个。选择链时自动填入该链的默认节点。
节点认证✓否—可选。RPC节点需要认证时填写:Header-Name: value形式的请求头,或Basic认证的值。
钱包私钥✓是—EVM钱包私钥(十六进制)。托管者用它派生交易代理并签一次授权,充值、提现也用它签名。
子账户✓否0Boros子账户编号,0为主账户(只有主账户能充值、提现),范围0到254。
API地址✓否https://api-boros.pendle.finance/apisBoros API地址,一般不用改。
节点地址✓否https://arb1.arbitrum.io/rpc,https://arbitrum-one-rpc.publicnode.comArbitrum RPC节点(充值、提现与读链上nonce用),多个用逗号分隔,某个节点出错时自动换下一个。

交易对与合约代码
Pendle(现货)

交易对示例:PT-apyUSD-5NOV2026_apyUSD、YT-apyUSD-5NOV2026_USDC

前半段是PT或YT的名称(含到期日,取自Pendle资产表,见exchange.GetMarkets()),后半段是计价币。价格是1个PT/YT值多少计价币。计价币可以是市场的底层资产、计价资产,或本链上Pendle能兑换的其它代币(市价单经聚合器),也可以写代币合约地址。交易对不转大写,按原样书写。

Futures_Boros(期货)

交易对示例:BTC_USDT、ETH_ETH、BTC_BTC

交易对为标的_保证金币:标的是被交易资金费率的资产,保证金币是市场使用的抵押币(WBTC写作BTC、WETH写作ETH、USD₮0写作USDT,另有BNB、HYPE)。同一个市场名可以有不同保证金币的两个市场(如USDT保证金和BTC保证金的Hyperliquid BTC),用保证金币区分。价格是年化利率的小数(0.065即6.5%),可以为负;数量是YU,以保证金币计(USDT保证金的市场里1个YU = 1 USDT名义本金的资金费)。

合约代码是Boros的市场名换成下划线:资金费率来源_品种_到期日,如HYPERLIQUID_BTC_30OCT2026、BINANCE_ETHUSDT_25DEC2026,完整品种代码如BTC_USDT.HYPERLIQUID_BTC_30OCT2026;Boros原名(HYPERLIQUID-BTC-30OCT2026)也认。可用的市场见exchange.GetMarkets()(只列未到期的)。也可以写Boros的数字市场编号(如206)。

专属IO指令
Pendle(现货)
指令参数说明返回值
marketsymbol查询交易对所在市场:到期时间、距到期年数、当前隐含年化、PT/YT/SY与底层资产、计价资产地址,以及1个计价币值多少计价资产(限价单换算用)。{symbol, market, name, kind, expiry, yearsToExpiry, impliedApy, pt, yt, sy, underlying, accounting, accountingPerQuote, chainId}:kind为PT或YT,expiry为毫秒时间戳,各地址为合约地址;计价币不能经SY换算(如经聚合器兑换的USDC)时accountingPerQuote为空值。
apysymbol, price把PT/YT价格换算成隐含年化(与限价单同一换算):计价币按SY汇率换成计价资产,PT价格 = (1+年化)^(−距到期年数),YT价格 = 1 − PT价格。计价币须是SY能换算的代币(同限价单),否则报错。隐含年化(0.16即16%);价格无法对应年化(PT不低于1个计价资产、YT不在0到1之间)或市场已到期时报错并返回空值。
pricesymbol, apyapy的反向换算:隐含年化换算成以计价币计的价格,计价币的要求同apy。价格。
slippage[ratio]市价单的滑点保护比例,范围[0, 0.5),默认0.005(0.5%),写进兑换交易。下单附加参数slippage覆盖本单。不传参数时查询。当前滑点比例。
orderExpiry[seconds]限价单默认有效期(秒),范围60到31536000(1年),默认604800(7天),不超过市场到期时间。(详见表下)当前有效期(秒)。
cancelWait[seconds]撤单时等待撤单交易上链的最长时间,默认30,范围0到600。等待超时exchange.CancelOrder()仍返回true,表示撤单已提交。不传参数时查询。当前等待时间(秒)。
approve[mode]授权额度:max无限授权,exact只授权本次所需(默认)。兑换授权给Pendle Router,限价单授权给Pendle限价单合约。不传参数时查询。当前模式。
gasMultiplier[x]gasLimit = 估算的gas × x,范围1到5,默认1.2。不传参数时查询。当前倍数。
receipttxHash[, waitMs]查询交易回执:状态、区块、gas与手续费;可等待到上链(最多10分钟)。查询兑换订单时传订单ID中逗号后面的交易哈希。{txHash, status, blockNumber, gasUsed, fee},status为success、reverted或pending;还没上链(pending)时只有txHash和status。
base[url]不传参数时返回当前RPC节点地址;传入地址时切换节点(多个用逗号分隔),换节点后第一次请求会核对节点所在的链。切换前的地址。
address—钱包地址。—

表中长说明的其余部分:

  • orderExpiry:下单附加参数expiry单独指定一笔订单的到期时间:秒或毫秒时间戳(是时间点,不是时长),已经过去的报错,晚于市场到期的按市场到期前1分钟。不传参数时查询。

通用指令currency见exchange.IO。

不支持通用指令api(调用时报错并返回空值)。

Futures_Boros(期货)
指令参数说明返回值
address—钱包地址(即Boros账户的根地址)。—
agent—查询交易代理:代理地址、子账户、授权到期时间(Unix秒,0为未授权)。只读;第一次下单时自动授权,授权剩不到1天时自动续期。{agent, accountId, expiry, approved}
approveAgent—立即由钱包签名(重新)授权交易代理,有效30天。授权经Pendle中继上链,不花钱包的ETH。代理只能下单、撤单和付gas,不能提现。{agent, expiry}
gasBalance—Boros中继的gas余额(美元)。每笔下单、撤单约0.02到0.04美元,余额低于下限时中继拒绝提交。余额(美元),可能为负(欠费)。
topUpGasusd[, currency]从全仓账户的现金付gas余额,usd为美元金额(不超过100),currency为用哪种保证金币付,默认USDT。{txHash, usd, paid, currency}
autoTopUp[enabled[, usd]]自动付gas:开启时(默认),gas余额低于0.3美元则下单前在同一批调用里先从该市场保证金币的全仓现金付usd美元(默认1,大于0且不超过20,另加欠费)。enabled须为布尔值(true/false),其它值不改开关。不传参数时查询。{enabled, usd}
slippage[rate]市价单相对标记利率的最大偏离(小数利率,默认0.01即1个百分点),范围0到0.5。下单附加参数slippage覆盖本单。不传参数时查询。当前值。
base[url]查询或切换Boros API地址(默认https://api-boros.pendle.finance/apis)。切换前的地址。
rpc[url]查询或切换Arbitrum RPC节点(充值、提现与读链上nonce用),多个用逗号分隔。切换前的地址。
marketsymbol市场的原始数据:费率、保证金参数、标记利率、底层资金费率、到期时间等。symbol要写完整品种代码(如BTC_USDT.HYPERLIQUID_BTC_27NOV2026),tick、isolatedTransfer同。Boros /v1/markets/by-ids的应答{results, ...}:results[0]是该市场,marketId、imData(symbol、maturity、tickStep、isIsolatedOnly等)、data(markApr、floatingApr、bestBid、bestAsk、nextSettlementTime等,时间为Unix秒)。
ticksymbol, rate[, side]利率换算成限价tick:做多(buy,默认)取不高于该利率的最近一档,做空(sell)取不低于它的最近一档,与下单的取整相同。{market, marketId, tick, rate, tickStep},rate为该tick的实际利率。
depositcurrency, amount钱包交易:把钱包里的保证金币充进Boros全仓账户(先授权给Boros Router),花钱包的ETH gas,等上链后返回。{txHash, currency, amount, accountId}
withdrawcurrency, amount钱包交易:申请从全仓账户提现到钱包,只能从主账户(子账户0)提。冷却期(目前约15分钟)后由Boros自动到账;冷却中再申请会叠加数量并重新计时。{txHash, currency, amount, note}
cancelWithdrawcurrency钱包交易:取消未完成的提现申请。{txHash, currency}
isolatedTransfersymbol, amount在全仓账户与只能逐仓的市场的逐仓账户之间划现金:amount(保证金币)为正时从全仓划进逐仓,为负时划回全仓。经中继上链,扣gas余额。提现只能从全仓提,逐仓里的钱要先划回来。{txHash, symbol, amount, account}
wallet—钱包(不是Boros账户)在Arbitrum上的ETH与各保证金币余额,充值前查看用。[{currency, amount, token}],第一项是钱包的ETH(currency为ETH (gas),没有token)。

通用指令currency见exchange.IO。

不支持通用指令api(调用时报错并返回空值)。

常用用法
查看PT市场信息,并在价格与隐含年化之间换算(仅Pendle)
javascript
function main() { var symbol = "PT-apyUSD-11FEB2027_apyUSD" var m = exchange.IO("market", symbol) if (!m) { Log("查询市场失败:", GetLastError()) return } Log(m.kind, m.name, "到期:", _D(m.expiry), "距到期年数:", m.yearsToExpiry) Log("当前隐含年化:", m.impliedApy, "1个计价币折合计价资产:", m.accountingPerQuote) var t = exchange.GetTicker(symbol) if (t) { // 按卖一价买入锁定的年化 Log("卖一:", t.Sell, "隐含年化:", exchange.IO("apy", symbol, t.Sell)) } // 比当前年化高1个百分点(PT价格更低)的买入价 var price = exchange.IO("price", symbol, m.impliedApy + 0.01) Log("目标年化对应的价格:", price) }
按目标年化挂PT限价买单,一段时间没成交就撤单(仅Pendle)
javascript
function main() { var symbol = "PT-apyUSD-11FEB2027_apyUSD" exchange.IO("orderExpiry", 86400) // 之后挂的限价单默认1天后过期 exchange.IO("approve", "max") // 付款代币一次授权足额(默认只授权本单所需) exchange.IO("cancelWait", 60) // 撤单最多等60秒上链 var m = exchange.IO("market", symbol) var apy = m.impliedApy + 0.01 var price = exchange.IO("price", symbol, apy) var id = exchange.CreateOrder(symbol, "buy", price, 10) // 数量是PT个数 if (!id) { Log("挂单失败:", GetLastError()) return } Log("限价单:", id, "价格:", price, "年化:", apy) Sleep(10 * 60 * 1000) var o = exchange.GetOrder(id) if (o && o.Status == ORDER_STATE_PENDING) { // 撤单是一笔链上交易,要花gas Log("撤单:", exchange.CancelOrder(id), "已成交:", o.DealAmount) } }
市价买入PT,再查询交易回执(仅Pendle)
javascript
function main() { var symbol = "PT-apyUSD-11FEB2027_USDC" // 计价币USDC,经聚合器兑换 exchange.IO("slippage", 0.003) // 滑点保护0.3% var id = exchange.CreateOrder(symbol, "buy", -1, 20) // 市价买:花20 USDC if (!id) { Log("兑换失败:", GetLastError()) return } // 兑换的订单ID是“交易对,交易哈希”;最多等2分钟上链 var r = exchange.IO("receipt", id.split(",")[1], 120000) Log("状态:", r.status, "区块:", r.blockNumber, "gas:", r.gasUsed, "手续费:", r.fee) if (r.status == "success") { var o = exchange.GetOrder(id) Log("买到PT:", o.DealAmount, "均价:", o.AvgPrice) } }
检查交易代理与gas余额,余额低时手动补gas(仅Futures_Boros)
javascript
function main() { Log("钱包:", exchange.IO("address")) var a = exchange.IO("agent") if (!a) { Log("查询代理失败:", GetLastError()) return } Log("代理:", a.agent, "子账户:", a.accountId, "已授权:", a.approved) // 授权剩不到3天时提前续期(钱包签名,经中继上链,不花ETH) if (!a.approved || a.expiry - Date.now() / 1000 < 3 * 86400) { var r = exchange.IO("approveAgent") Log("代理授权到:", _D(r.expiry * 1000)) } var gas = exchange.IO("gasBalance") Log("gas余额(美元):", gas) if (gas < 0.5) { var t = exchange.IO("topUpGas", 2, "USDT") // 从USDT全仓现金付2美元 Log("已补gas:", t.paid, t.currency, t.txHash) } // 下单前自动补gas:保持开启,每次补3美元 Log(exchange.IO("autoTopUp", true, 3)) }
从钱包充值、给只能逐仓的市场划保证金,再申请提现(仅Futures_Boros)
javascript
function main() { // 钱包(不是Boros账户)在Arbitrum上的余额 var w = exchange.IO("wallet") for (var i = 0; i < w.length; i++) { Log(w[i].currency, w[i].amount) } // 钱包交易:花钱包的ETH gas,上链后返回 var d = exchange.IO("deposit", "USDT", 50) if (!d) { Log("充值失败:", GetLastError()) return } Log("已充值", d.amount, d.currency, "到子账户", d.accountId, d.txHash) // 只能逐仓的市场:正数从全仓划进它的逐仓账户,负数划回全仓 var iso = "BRENTOIL_USDT.HYPERLIQUID_XYZBRENTOIL_18NOV2026" Log(exchange.IO("isolatedTransfer", iso, 20)) Log(exchange.IO("isolatedTransfer", iso, -20)) // 申请提现(只能从子账户0的全仓提),冷却期后自动到账 var r = exchange.IO("withdraw", "USDT", 30) Log(r ? r.note : GetLastError()) // 冷却期内可以取消:exchange.IO("cancelWithdraw", "USDT") }
读取市场的标记利率与底层资金费率,看目标利率会取整到哪一档(仅Futures_Boros)
javascript
function main() { var symbol = "BTC_USDT.HYPERLIQUID_BTC_27NOV2026" var r = exchange.IO("market", symbol) if (!r) { Log("查询失败:", GetLastError()) return } var m = r.results[0] Log(m.imData.symbol, "市场编号:", m.marketId, "只能逐仓:", m.imData.isIsolatedOnly) Log("标记利率:", m.data.markApr, "底层资金费率:", m.data.floatingApr, "下次结算:", _D(m.data.nextSettlementTime * 1000)) // 比标记利率低0.5个百分点挂做多单,先看会取整到哪一档 var t = exchange.IO("tick", symbol, m.data.markApr - 0.005, "buy") Log("tick:", t.tick, "实际利率:", t.rate, "tickStep:", t.tickStep) }

函数支持差异
Pendle(现货)

不支持(调用时报错并返回空值):exchange.GetTickers、exchange.GetRecords、exchange.GetTrades、exchange.ModifyOrder、exchange.CreateConditionOrder、exchange.ModifyConditionOrder、exchange.CancelConditionOrder、exchange.GetConditionOrder、exchange.GetConditionOrders、exchange.GetHistoryConditionOrders。

Futures_Boros(期货)

不支持(调用时报错并返回空值):exchange.GetTickers、exchange.SetMarginLevel、exchange.ModifyConditionOrder。

保证金、账户与模拟盘
Futures_Boros(期货)

保证金模式:一般市场用全仓账户(每种保证金币一个,所有同币种市场共用);只能逐仓交易的市场(如部分商品资金费率市场)自动用它的逐仓账户,保证金要先用exchange.IO("isolatedTransfer", ...)划进去,或下单时用附加参数cashIn随单划入。Boros没有杠杆设置:初始保证金按持仓规模、利率与距到期时间计算。

持仓模式:单向持仓。Boros没有只减仓标志:平仓单(closebuy、closesell)是反向订单,数量夹到当前持仓(与持仓相差不到十亿分之一时按持仓的精确数量),没有对应方向的持仓时报错不下单。

账户:exchange.GetAccount()按当前交易对的保证金币取全仓账户(只能逐仓的市场取它的逐仓账户):Balance为可用初始保证金,FrozenBalance为已用初始保证金,Equity为账户净值(现金 + 持仓市值)。exchange.GetPositions()的Price为开仓的固定年化利率,Profit为未实现盈亏,Margin为该持仓占用的初始保证金(取自持仓所在账户,全仓或逐仓;都以保证金币计;已到期待结算的持仓为0)。

注意事项
Pendle(现货)
函数Pendle交易所的行为
exchange.GetTicker()买一、卖一为Pendle实时的可成交兑换率(AMM与限价单撮合后,含手续费),实时兑换率缺失、或市场的SY换算不了计价币(经聚合器兑换的代币,如部分市场的USDC)时改按约1000美元规模询价(吃不下时缩小到100、10美元),Info.source为convert;Info中有impliedApy(隐含年化)和expiry(到期时间,毫秒)。没有24小时统计,High、Low、Open为当前价,Volume为0
exchange.GetDepth()Pendle订单簿(限价单与AMM合并),按隐含年化0.01%分档并换算成价格。市场的SY换算不了计价币时,整本订单簿按约1000美元的可成交询价缩放(中间价与exchange.GetTicker()一致,档位的相对结构不变;询价拿不到时按两者美元价近似),Info.approximate说明换算方式
exchange.GetMarkets()各活跃市场的PT、YT分别对底层资产、计价资产的交易对;Info中有市场地址、到期时间、隐含年化、PT/YT/SY地址
exchange.GetAssets()原生币和余额不为0的PT、YT、底层资产等
exchange.CreateOrder()价格为-1时立即兑换:市价买入时amount为要花费的计价币数量,卖出为PT/YT数量,按滑点保护。价格大于0时在Pendle限价单簿上挂限价单,amount为PT/YT数量(买单付出amount×价格的计价币):价格按计价资产汇率与距到期年数换算成隐含年化(见exchange.IO("apy", ...))。附加参数放在最后一个对象参数里,如exchange.CreateOrder(symbol, "buy", price, amount, {expiry: 1793836800}):impliedApy直接按年化挂单(买单付出的计价币仍按amount×价格计算),expiry为限价单到期时间(秒或毫秒时间戳,见exchange.IO("orderExpiry", ...)),slippage为市价单本单滑点;参数值不是数字时报错
exchange.GetOrder()兑换的订单ID为交易对,交易哈希,状态来自交易回执,本程序发出的兑换5分钟后节点仍查不到时为已撤销;限价单的订单ID为交易对,lo-订单哈希,状态、成交数量、成交均价来自Pendle(部分成交时状态仍为未完成)。Pendle要15到40秒才索引到链上的撤单与成交,在此之前按链上状态及时更新:本程序的撤单交易上链成功后立即显示已撤销;链上已全部成交或已被撤销、且成交数量能核对上时(本程序挂的单从链上成交记录核对)立即显示对应状态。Info.onChain为链上的剩余与已成交数量,Info.indexed为false表示Pendle还没索引到。不是本程序挂的限价单(例如程序重启后),价格按订单的隐含年化与当前汇率折算,为近似值
exchange.GetOrders()本钱包挂着的限价单(链上已撤销或已成交的不再列出),以及本程序发出、尚未上链的兑换
exchange.CancelOrder()限价单:发送一笔链上撤单交易并等待上链(见exchange.IO("cancelWait", ...))。订单在链上已撤销或已全部成交时直接报错说明是哪一种,不发撤单交易;上一笔撤单交易还在等待上链(5分钟内)时也报错,可用exchange.IO("receipt", ...)查询。兑换交易不能撤单
exchange.GetHistoryOrders()本钱包已结束(全部成交、撤销、过期)的限价单,包括链上已结束、Pendle还没索引到的;兑换不在其中

限价单只能用Pendle的SY能接受的代币付款或收款(通常是底层资产、计价资产),用了其它计价币会报错并列出可用的代币。挂单前会自动把付出的代币授权给Pendle限价单合约;挂单本身不上链、不花gas,撤单是一笔链上交易。

Pendle接口按计算单位限流(每分钟200个单位:兑换报价每次至少5个、订单簿5个、实时价格1个)。行情查询请保持合理频率,被限流时连接器会等到下一分钟自动重试一次。

Futures_Boros(期货)
函数Boros交易所的行为
exchange.GetTicker()Last为最近成交利率,Buy、Sell为最优买卖利率,High、Low、Open取最近24根1小时K线,Volume为24小时成交量(YU);Info中有标记利率markApr、底层资金费率floatingApr、下次结算时间等
exchange.GetDepth()Boros订单簿(含AMM),按0.0001的利率分档
exchange.GetTrades()市场最近的成交;Boros没有成交ID,Id由交易哈希、数量、利率合成
exchange.GetRecords()原生周期为5分钟、1小时、1天、1周,其它周期由托管者合成;K线值为利率,无成交的时段沿用上一根收盘
exchange.GetFundings()底层永续交易所当前的资金费率:Rate为年化floatingApr折到每个结算周期(1小时),Interval为结算周期。不指定交易对时返回各未到期市场,数据取自最多缓存10分钟的市场列表
exchange.CreateOrder()限价单默认GTC(附加参数tif可选ioc、fok、postOnly),利率按对自己有利的方向取整到tick(做多不高于、做空不低于给定利率),并以给定利率作为平均成交利率保护;价格为-1时为市价单:在标记利率±滑点(见exchange.IO("slippage", ...))内IOC成交,没成交任何数量时报错。订单价值须大于10美元(全部平仓除外)。暂停的市场不能下单,只许平仓的市场只接受平仓单。第一次在某个市场下单时自动进入该市场(Boros收一次入场费)。只能逐仓的市场可用附加参数cashIn(保证金币数量)在下单前把现金划进逐仓账户
exchange.GetOrder()订单ID为市场编号,订单号;立即全部成交、未挂上订单簿的市价单按本程序下单时记录的成交返回。AvgPrice为订单的tick利率(Boros订单记录不含成交均价),市价单为下单时的保护利率
exchange.CancelOrder()经中继撤单,订单已不在挂单中(已成交或已撤销)时返回错误
exchange.ModifyOrder()原子地撤旧单、下新单(Boros的idToStrictCancel),返回新订单ID;旧单已不在时整笔失败。新单为GTC限价单,不传价格时沿用旧单的利率,不传数量时取旧单未成交的数量
exchange.CreateConditionOrder()Boros止盈止损单:利率越过触发价(TpTriggerPrice或SlTriggerPrice,必须大于0)后按市价平仓,只减仓。方向写平仓方向(平多closebuy、平空closesell),数量不小于持仓时平全部持仓;委托价只能是-1(市价),不支持OCO。只用于主账户(子账户0)。止损单接口需要API签名密钥:连接器第一次用到时由交易代理签名自动申请一把(名为fmz-…,7天有效,快过期时换新;名额满时撤掉本代理申请过、最久没用的一把)。新密钥要过一会儿才在Boros的所有网关生效,申请后1分钟内的止损单请求被拒(401)时自动稍等重试,第一次调用可能要多等几秒
exchange.GetConditionOrders()等待触发与执行中的止盈止损单;Price为-1,触发价在Condition里;平全部持仓的单Amount为0(数量按触发时的持仓)

每笔下单、撤单经Pendle中继上链,从Boros账户的gas余额扣费(约0.02到0.04美元,见exchange.IO("gasBalance")),默认余额不足时自动从全仓现金补(见exchange.IO("autoTopUp", ...))。同一交易所对象的提交按顺序进行。

Boros API按计算单位限流:每个IP每分钟200个单位(下单、撤单各5个,市场列表、订单簿各2个,其余多为1个)。被限流时连接器会等到下一个窗口自动重试一次,行情查询请保持合理频率。

风险:资金费率互换的盈亏取决于底层资金费率与成交利率之差,以及隐含利率变动带来的持仓市值变化;保证金不足时会被强平。到期前每小时结算一次资金费。