# Hyperliquid订单显示取消却有成交：核oid、部分填单和真实费用

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/hyperliquid-order-fill-fee-namespace-record-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

按原订单与逐笔fills核对资产命名、剩余量、错误及费用，避免重复加builderFee或把前端PnL当资金结果。

## 使用工具
- [Hyperliquid](https://lianxiaozhi.com/tools/hyperliquid) · [官方入口](https://hyperliquid.xyz/)

## 前置条件
- 准备已有订单/交易历史或本人导出：主网/测试网、实际账户/子账户、market/DEX、oid或cloid、origSz/sz、订单属性、状态时间、逐笔fills和费用币种。
- 只对照官方静态方法与既有结果，未请求userFills/orderStatus等业务方法、签名或重发。缺元数据时不从示例资产ID、精度或费率推当前配置。

## 1. 先把Spot、Perp和HIP-3身份分开

核原coin及market元数据。HIP-3名称是{dex}:{coin}，如xyz:XYZ100；Spot fills可能是@107，Spot pair index与token ID不同，主网与测试网也不同。把同名ETH或USDC下的不同市场合并，会同时弄错成交和费用。

普通Perp/Spot方法不能自动套HIP-4：Outcome有#encoding、+encoding和独立asset表示，历史还可能分别返回primary/dual订单。本教程先限定普通Spot/Perp/HIP-3；如果原记录是Outcome，保留原命名并按该产品规则另核。

核对结果：账户、网络、DEX、市场类型和资产namespace明确，未用token ID代替订单市场ID。
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)
依据：[Hyperliquid：token/spot/perp/outcome标识](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids.md)
依据：[Hyperliquid：HIP-3部署者及抵押范围](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-3-builder-deployed-perpetuals.md)
依据：[Hyperliquid：HIP-4当前/分阶段边界](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-4-outcome-markets.md)

## 2. 从状态对象找对订单键和时间

对已有orderStatus结果，先区分外层status=order与unknownOid；有订单时再看内层order.status和order.order中的oid、cloid、origSz、sz、tif、reduceOnly等。unknownOid不是filled或失败终态，先核账户与ID是否对应。

oid允许u64，cloid是16字节十六进制客户键；保留原整数/字符串，不用浮点缩短大ID。timestamp、statusTimestamp以及fills.time为毫秒，不能按秒直接与网页时间比较；还要核同一次状态读数，而非另一订单的截图。

核对结果：外层查找结果、内层业务状态、完整ID及毫秒时间分开，缺订单未造状态。
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)

## 3. 把剩余订单量与逐笔成交合起来看

原订单origSz是原数量，sz是该记录时点的剩余数量。将对应oid的fills按tid和时间整理，使用每笔px与sz核执行金额，不把订单limitPx乘原总量当已成交；部分成交后取消剩余量仍可能留下真实仓位/现货余额变化。

userFills文档仅最多2000条，ByTime每次2000且只有最近10000条可得；aggregateByTime还会合并部分填单。缺历史或截断不能证从未成交。对聚合与逐笔导出不要重复相加，无法完整对齐时注明还差哪些时间段或成交。

核对结果：同oid成交、剩余量和取消范围可解释，聚合/截断未被误当零成交。
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)
依据：[Hyperliquid：GTC/ALO/IOC与订单执行](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/order-types.md)

## 4. 按原属性定位拒单或取消原因

核tif和reduceOnly：ALO只挂单，立即交叉可能BadAloPx；IOC若不能立即匹配可能IocCancel；ReduceOnly会限制增加或反向仓位。原错误表里的Tick/PerpMargin/InsufficientSpotBalance与orderStatus里的tickRejected等是不同字段，原样保留后再对照含义。

价格最多5个有效数字且受6（Perp）/8（Spot）−szDecimals的小数限制，整数有例外；数量用该市场szDecimals，不用ERC20 decimals。batch预验证可能整批只返回一个error，不能把缺的逐单项补成功或为排错改下限重发。

核对结果：原属性、精度、错误字段和批次范围相符，拒单与成交后取消没有混同。
依据：[Hyperliquid：GTC/ALO/IOC与订单执行](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/order-types.md)
依据：[Hyperliquid：拒单/取消错误范围](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/error-responses.md)
依据：[Hyperliquid：价格有效位数与数量精度](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size.md)
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)

## 5. 核逐笔费用，别再加一次builderFee

每笔fill保留fee和feeToken；文档明确fee已经包含builderFee，builderFee为0时可以不出现。它缺失不代表整笔手续费为0。费用与成交金额同币种后再比较，maker返佣按原带符号记录核，不从订单写Limit就假定全部为maker。

费档按14日加权量=Perp量+2×Spot量、每日UTC评估；主/子同档，vault单独。Spot/Perp表、HIP-3 deployer/growth、AQA和质押折扣均影响适用率。Funding与Gas另列，没有原费档/币种/额外费配置时不硬套基准0.045%。

核对结果：实际fee、币种、builder包含关系与适用费档可追溯，未重复扣费或误用常见基准。
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)
依据：[Hyperliquid：14日分层费率与额外费用](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees.md)

## 6. 以成交和账户账务结案

对同一时间范围核Spot实际资产余额，或Perp仓位数量/方向与margin变化。官方说明entry price、unrealized和closed PnL是前端便利计算，基础账务是margin/Spot余额及trades；Spot转账也可能赋成本价，不能拿一条PnL显示证明充值收益或净收款。

结论应写为未找到订单、拒单、未成交挂单、部分成交后取消或已完整成交，并列实际费用与缺口。HIP-4初始零费文字与当前Fees关闭/结算计费并存，若误选该产品不要用普通费表或零费结论结案。

核对结果：订单状态、真实成交、余额/仓位及费用可对应，前端PnL和计划执行量未当实际资金结果。
依据：[Hyperliquid：前端PnL与基础账务](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/entry-price-and-pnl.md)
依据：[Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)
依据：[Hyperliquid：14日分层费率与额外费用](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees.md)
依据：[Hyperliquid：HIP-4当前/分阶段边界](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-4-outcome-markets.md)

## 常见错误
- 订单不在openOrders列表不等已成交；unknownOid与历史截断也不等未发生交易。
- fee已含builderFee；价格/数量精度与token小数不同，不能整批缺失项补成功。

## 完成检查
- 原oid/市场/属性、成交与剩余量、费用币种和仓位或余额结果能复查。
- 全部documentation；未获取实时订单、费档、元数据或账户，材料不全不能宣称实测成交/收益。

## 相关知识
- [订单簿深度怎么看？成交额大为什么仍可能不好成交](https://lianxiaozhi.com/learn/orderbook-depth)
- [Reduce-only 为什么会拒单或只成交一部分？](https://lianxiaozhi.com/learn/reduce-only-orders)
- [滑点和价格冲击有什么区别？为什么成交价会变化](https://lianxiaozhi.com/learn/slippage-and-price-impact)
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)

## 官方依据
- [Hyperliquid：订单状态与成交字段](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint.md)
- [Hyperliquid：token/spot/perp/outcome标识](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids.md)
- [Hyperliquid：HIP-3部署者及抵押范围](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-3-builder-deployed-perpetuals.md)
- [Hyperliquid：HIP-4当前/分阶段边界](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-4-outcome-markets.md)
- [Hyperliquid：GTC/ALO/IOC与订单执行](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/order-types.md)
- [Hyperliquid：拒单/取消错误范围](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/error-responses.md)
- [Hyperliquid：价格有效位数与数量精度](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size.md)
- [Hyperliquid：14日分层费率与额外费用](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees.md)
- [Hyperliquid：前端PnL与基础账务](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/entry-price-and-pnl.md)
