# NFTScan 持仓数量不对：核对游标、ERC1155 amount与截断

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

按照固定官方SDK1.15.0复核已有EVM资产记录，逐页保存next/cursor，把资产条目数和持有份数分开，排除铸造列表及多链截断造成的误计。

## 使用工具
- [NFTScan API / SDK](https://lianxiaozhi.com/tools/nftscan) · [官方入口](https://docs.nftscan.com/)

## 前置条件
- 已有脱敏SDK配置、getAssetsByAccount参数及逐页结果；没有记录时只制作字段检查表。
- 明确链、accountAddress、contract_address或erc_type，保留请求时间和使用的SDK版本/commit。
- 源码核对范围为5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51的nftscan-api1.15.0；不需要运行SDK、注册或提供API key。

## 1. 确认链配置和当前持有方法

将已有配置的chain/baseUrl、accountAddress与方法名写入表。固定路由getAssetsByAccount是/v2/account/own/，getAccountMinted是/v2/account/mint/，getAllAssets是/v2/account/own/all/；曾铸造不等于现在持有，按合集分组也不等于分页content。

固定配置chain优先查BASE_URL，chain非法不会自动用baseUrl补救。README的EvmChain.ARBITRUM例子与实际enum/BASE_URL缺少arbitrum冲突；遇到该错误保留版本差异。Solana用独立对象和/sol路径，不能套本页EVM参数。

核对结果：核对表确认为同链、同账户、EVM当前持有分页方法；错误网络与方法不进入数量统计。
依据：[NFTScan 固定官方 SDK README](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/README.md)
依据：[NFTScan 固定 SDK 包版本](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/package.json)
依据：[NFTScan 固定 SDK 通用类型与游标](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/nftscan-type.ts)
依据：[NFTScan 固定 SDK 链与路径常量](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/util/nftscan.const.ts)
依据：[NFTScan 固定 SDK HTTP 解包与认证](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/http/nftscan.http.ts)

## 2. 对齐ERC类型、过滤与方法上限

getAssetsByAccount在contract_address与erc_type同时为空时拒绝。按原记录写erc_type=erc721或erc1155，或指定contract_address；保留show_attribute、sort_field与sort_direction，比较页时不换条件。

固定SDK账户分页只对limit>1000报错；通用参数注释默认20。铸造/合约分页limit>100拒绝，与账户方法不同。这些是客户端校验，不能据此保证当前后台接受1000、任意负数/小数或免费额度。

核对结果：参数满足对应固定方法的校验，并记录真实limit与排序；所有客户端/服务端错误保留原值。
依据：[NFTScan 固定 EVM asset 方法实现](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/api/evm/asset/index.ts)
依据：[NFTScan 固定 EVM asset 参数](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/request-params.ts)
依据：[NFTScan 固定 SDK 通用类型与游标](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/nftscan-type.ts)

## 3. 按响应next接续cursor并保留每一页

固定分页使用cursor，下一页cursor来自上一页next，不使用page=2或自行加数字。将原请求cursor、返回next、total、content.length、采集时间逐页配对，复核已有记录是否漏页、重复游标或换了过滤。

源码只定义next为string并注释续页，没有明确终页哨兵规则；不要未经响应证据把空字符串、null或缺字段一律视为完成。空页但仍有未解释next、重复next或total变化时停止全量结论，保留待核。

核对结果：每页都能接回上一页的next；断链或终页规则未知时标部分记录而非完整持仓。
依据：[NFTScan 固定官方 SDK README](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/README.md)
依据：[NFTScan 固定 SDK 通用类型与游标](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/nftscan-type.ts)
依据：[NFTScan 固定 EVM Asset 与多链响应类型](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/response-data.ts)

## 4. 先分清HTTP外壳再计算份数

原HTTP响应可能是code/msg/data，固定SDK拦截器在HTTP200且外层code=200时返回data，所以SDK返回对象直接读content/next/total；不要给SDK结果再套data导致空列表。HTTP错误、外层业务code错误或空响应单列，不能填资产0。

按chain、contract_address、token_id核对重复项；同一身份在不同页重复时先留原记录及采集时间，不直接叠加。分别统计content行数、唯一Token ID数和合法amount的精确整数总和；amount是string，ERC721注释默认1，ERC1155同一ID可有多份，不能用行数替代份数。

核对结果：报告明确使用哪种数量口径，金额/份数不经过浮点Number；total仅标原方法匹配结果总量而非自动解释为份数。
依据：[NFTScan 固定 SDK HTTP 解包与认证](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/http/nftscan.http.ts)
依据：[NFTScan 固定 EVM Asset 与多链响应类型](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/response-data.ts)

## 5. 核对多链截断与计费权限边界

若来源实际是getMultiChainAssets，读取各chain的collection_assets与exceed_max_items。源码注释账户超2000NFT时可能返回少于2000，建议逐链getAssetsByAccount分页；该上限不属于所有方法的统一分页额度。

CollectionAssets中的owns_total与items_total分别表示账户持有与合集项数，保留字段原定义，不从这些类型推ERC1155份数等价关系。公开平台按CU收费，定制QPS最高200不等于当前账户权限；免费额度和每方法CU未核实，记录不足不为凑全量再次调用。

核对结果：结果标明逐链/分页范围、截断状态、份数口径与未知权限；未覆盖页或截断不会被写成0资产。
依据：[NFTScan 固定 EVM Asset 与多链响应类型](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/response-data.ts)
依据：[NFTScan 固定 EVM asset 方法实现](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/api/evm/asset/index.ts)
依据：[NFTScan 公共定价页](https://docs.nftscan.com/pricing)
依据：[NFTScan Developer FAQ](https://developer.nftscan.com/faq)

## 常见错误
- 把minted铸造列表、getAllAssets分组列表、账户分页content混用。
- 把limit1000客户端校验当当前服务承诺，或把定制QPS200当默认免费速率。
- 将重复页相加，或将ERC1155行数、unique token数、amount和total混成一个总数。
- 把多链exceed_max_items忽略；当前服务终页哨兵及实时全链范围未实测。

## 完成检查
- 输出按链与合约分列的行数、唯一ID数、精确份数和所覆盖游标链。
- 错误、截断、缺页及未知数量单独记录；版本限定、CU/资格与服务响应未核实项明确。

## 相关知识
- [如何核对 Meme 币？先确认链、合约地址和交易池](https://lianxiaozhi.com/learn/meme-token-identity)
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)
- [链上指标历史数值为什么会变？](https://lianxiaozhi.com/learn/point-in-time-metrics)

## 官方依据
- [NFTScan 公共定价页](https://docs.nftscan.com/pricing)
- [NFTScan Developer FAQ](https://developer.nftscan.com/faq)
- [NFTScan 固定官方 SDK README](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/README.md)
- [NFTScan 固定 EVM asset 方法实现](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/api/evm/asset/index.ts)
- [NFTScan 固定 EVM asset 参数](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/request-params.ts)
- [NFTScan 固定 EVM Asset 与多链响应类型](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/evm/asset/response-data.ts)
- [NFTScan 固定 SDK 通用类型与游标](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/types/nftscan-type.ts)
- [NFTScan 固定 SDK HTTP 解包与认证](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/http/nftscan.http.ts)
- [NFTScan 固定 SDK 链与路径常量](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/src/util/nftscan.const.ts)
- [NFTScan 固定 SDK 包版本](https://raw.githubusercontent.com/nftscan-official/nftscan-api-js-sdk/5ab7fe77baf804ebde1cd938e7bd74d3bc2f7e51/package.json)
