Enumerate an entire NEAR NFT collection at a reproducible height

A marketplace inventory can skip or repeat tokens if the collection changes while offsets advance. Contracts implementing NEP-181 expose a paged view that can be anchored to one block.

Fix a supply and block hash

Read nft_total_supply with query/call_function and save the block_hash of the response. Use that hash as block_id for nft_tokens. The example shows method arguments for a page starting at offset 100. Encode their JSON bytes as args_base64 for the RPC wrapper.

{
  "from_index": "100",
  "limit": 25
}

Advance by returned entries

Start at the string "0". If the first page returns 25 records, the next offset is "25". Persist each token_id as the asset identity; the offset is only its position in this enumeration. Compare the final distinct token count with the supply at the same block.

A contract without the enumeration extension may reject the view method. Treat that as a capability issue and preserve the failed method name separately from an empty collection result.

Sources