# Supra MoveVM 排查已有交易历史：发送列表、收付列表与分页游标

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

核对两类账户历史的不同覆盖范围与 start 语义，避免用一页发送记录推断完整收款历史。

## 使用工具
- [Supra MoveVM REST API](https://lianxiaozhi.com/tools/supra) · [官方入口](https://docs.supra.com/network/move/rest-api)

## 前置条件
- 准备同一公开 MoveVM 账户已有脱敏 v3 历史记录：请求URL、响应头、JSON正文、采集时间及至少一组分页参数；不访问账户或生成新记录。
- 明确要排查的是发送历史还是 Coin 收付历史；FA Fungible Store 历史不是本教程验证范围。

## 1. 固定网络、账户与 JSON 解析范围

把 host 与 Mainnet8/Testnet6、同一 path address 对应，并检查已有响应的 x-supra-chain-id。不要混合两个网络上格式相同的地址。

地址可带或不带0x前缀；这里是 Move account，FA 历史接口参数是 Fungible Store 地址，不能直接互换。v3 有二进制格式，本流程只分析记录中的 JSON。

核对结果：全部记录属于同网络同一 Move account 和同一可解析格式。
依据：[Supra MoveVM：主网、测试网与 chain ID](https://docs.supra.com/network/move/network-information)
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 2. 区分发送历史与 Coin 收付历史

GET /rpc/v3/accounts/{address}/transactions 返回该账户发送的 finalized 交易；不能以此列表遗漏入账就认定没有收款。

GET /rpc/v3/accounts/{address}/coin_transactions 返回相关 finalized Coin withdraw/deposit，包含收与发。本产品另有 FA 历史接口，因此 Coin 列表也不保证覆盖所有资产形式或所有业务事件。

核对结果：所需历史范围和实际方法一致；没有把发送或 Coin 范围冒充全资产历史。
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 3. 核对数量与排序

两类方法 count 默认20，最多每次100。检查每页实际 count 与 ascending；默认false为倒序，true为正序。返回20条本身不是全部历史结束证明。

Coin 方法还可按 type=auto/user/meta/record 过滤；过滤器变化后应单独看覆盖期，不能把不同过滤页直接拼接并宣称无遗漏。

核对结果：分页数量、排序和筛选在同一组记录中一致，未拿单页数量推断全量。
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 4. 按发送方法核对 start 序列号

transactions 的 start 是起始 sequence number，且包含该序列号。它不是区块高度、日期或 Coin 游标。

对已有后续页核对包含边界是否导致同一交易重复；以已返回交易身份去重，并保留原页。不能按20条固定步长猜序列号或从空页直接判定无资产。

核对结果：发送历史用序列号语义处理，边界重复被识别且未丢弃未解释记录。
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 5. 按收付方法核对游标

coin_transactions 的 start 是排除边界的 cursor。规范说明下一页使用上一响应头 x-supra-cursor；游标不能由客户端手算。

核对已有下一页 start 与上一页响应头是否匹配，按文本/精确整数保留大数，避免浮点损坏。缺失响应头时记录分页链断点，不能用发送序列号补上。

核对结果：已有 Coin 分页链可逐页追溯；游标缺失或数值精度损坏明确标注。
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 6. 解释索引状态与历史范围

这些账户历史方法的503表示 archive 仍初始化、尚无 executed blocks 可用，不能当成功空列表。x-supra-oldest-block 说明节点历史边界；该头可能在 archive 尚未索引区块前缺失。

汇总网络、账户、方法、排序/过滤、首末页时间、游标/序列号连续性、异常及历史边界。仅结论为本组已有记录覆盖的范围，不能称为全部收款或余额核验。

核对结果：输出已核覆盖范围与明确缺口，区分读取失败、历史裁剪、分页断点和真正返回的数据。
依据：[Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)

## 常见错误
- 发送历史的 start inclusive序列号与Coin历史的 start exclusive游标混用。
- 忽略x-supra-cursor，手算时间戳/区块索引或通过浮点保存大游标。
- 把finalized列表等同每笔成功、完整资产账本或当前钱包余额。

## 完成检查
- 两种列表的范围、分页语义与已有数据连续性已分别核对；未覆盖的数据注明待核。
- 只按官方文档和已有脱敏记录排查，未执行账户查询或其它 API。

## 相关知识
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)

## 官方依据
- [Supra MoveVM：主网、测试网与 chain ID](https://docs.supra.com/network/move/network-information)
- [Supra RPC Node：当前 OpenAPI 3.1 接口规范](https://rpc-mainnet.supra.com/docs/api.json)
