跳到正文
← 使用教程

Boros没有当前头寸却有结算?核Root账户、18位单位和收益时间范围

链小知 · 进阶 · 核验 · 依官方文档整理

用已有账户/头寸/结算记录拆分账户身份、active范围、最近一期与累计PnL;识别旧API材料、同步时点和未结算读数。

开始前准备

  • 准备已有Root、accountId、marketId/marketAcc、抵押tokenId及小数位、脱敏账户/头寸/结算响应、接口版本与syncStatus;不提供代理/根钱包密钥。
  • 当前官方文档存在API旧路径混列;本指南检查所载字段及原版本,不调用账户服务、SDK、RPC、settleAllAndGet或资金/授权方法。

1. 用Root而非代理定位账户

Boros部署在Arbitrum,报道中的Hyperliquid等为参考资金费率来源。原Root是EVM主身份;代理可代下单/撤单、现金转移和进出市场,但不代表代理地址等同Root。

按原userAddress/accountId核归属。所读Glossary外部用户当前accountId仅0,255留给AMM;不因通用ID范围0–255就推断所有子账户开放。代理无提款权不等泄露无损失。

检查结果:Root/代理、子账户与市场来源/结算链分开。

2. 对齐marketAcc与原接口版本

marketAcc为26-byte/54-char hex的账户身份,需与原root、accountId、tokenId、marketId一致;Cross用marketId=16777215,isolated用具体marketId,不只比单个市场或Token名。

当前文档首选api-boros.pendle.finance/apis/,迁移表将旧/accounts/transactions映射为position-update-events、limit-orders映射orders等。API页仍写旧服务提供,迁移页却写6月20日退役;原调用host/路径和schema需保留,实际存活及未映射的响应字段未知,不自行调用验证。

检查结果:完整账户键和原版本可对应,旧名未硬套新版响应。

3. 先转换内部单位与APR

交易余额/size等内部18位,即使抵押USDT钱包单位是6位;存取钱包数量用原token小数位。对原bigint字符串用整数/十进制定点解释,避免浮点损失,缺token元数据不填1:1。

APR是小数比例:fixedApr或settlementRate的0.05对应5%。signedSize负值为Short,side 0/1为Long/Short;名义size不等实际抵押或美元余额。

检查结果:内部金额、钱包单位、APR比例和方向各自明确。

4. 区分active与最近结算的覆盖范围

所读active-positions描述非零size当前头寸,含marketAcc、isCross、signedSize、fixedApr和isMatured。latest-settlements描述账户曾参与每个市场的最近结算,并有结算时positionSize/side/timestamp。

因此active空不等无历史;最新结算的size/side是该期而非当前状态。每个市场一项最新记录不等所有周期历史,累计字段也不能补造遗漏的逐期明细。

检查结果:当前非零头寸与最近一期的范围/时点不混,空列表未抹掉历史。

5. 分开最近一期与累计收益

在同一marketAcc/period核yieldReceived、yieldPaid及settlement=received-paid,再看settlementRate年化比例。不要把年化百分比当该期现金或对size再重复应用年化。

cumulativeSettlementPnl是所有时间累计,sinceOpenSettlementPnl是本次开仓以来;active的cumulativePnl文档为累计trade PnL。各字段口径分别保留,不相加冒充总收益或当前可提款现金。若费用是否已含不明,保留未知、不重复减费用。

检查结果:一期收付、两种累计结算及trade PnL分别记录,费用包含范围待核。

6. 核净值/保证金字段与同步时点

账户说明netBalance=totalCash+各position value;initialMargin为pre-scaling,旧名initialMarginWithLeverage实际为应用IM Factor后的保证金,不能当当前UI杠杆倍数。UI已改为Rate Sensitivity/Daily Volatility。

分别对availableInitialMargin、availableMaintMargin及syncStatus.blockNumber/timestamp。原NoSettle读数可尚未处理挂单成交/浮动结算;周期触发可能有oracle延迟,所读文档示例8小时与一般每小时描述不能替具体市场周期。缺时点/周期就不裁定收益不见或数据错误,也不触发settle补查。

检查结果:现金/净值/保证金与同期数据范围有依据,旧杠杆名和未结算读数未误用。

怎样确认完成

  • 形成Root/marketAcc、原版本、金额单位、当前与历史覆盖及同步时间的对照。
  • documentation:未验证新版实际响应、本人净值/费用或可提款量;矛盾及缺字段明确待核。

常见错误与边界

  • settlement按当期size计,而当前active size会变化;一个最新记录不能代表全部历史。
  • 费用按市场、个人折扣和剩余年限/周期计;maker挂单开仓费0仍可能有结算、入场与Gas成本。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据