NFT Owners Addresses Inaccurate

The https://deep-index.moralis.io/api/v2/nft/address/owners route for this contract address 0xd1d411d2da363144248b98adab453aa3b19ccf04 returns 13,529 unique owners, when Etherscan shows unique 13,496 addresses. Whenever Etherscan updates, so does the proportional amount by Moralis. I do this for about 200 collections, some are spot on, others are off by a few, while others like this collection is off by a few percent.

After waiting a day for it possibly to update, it still returns 13,529 from my side of code (tried two different methods, same results)

1 Like

it looks like I get now 13522 unique owners by iterating the data from owners endpoint

I also now get 13,522 by the way. That’s still pretty off from the 13,496 on etherscan. I wonder why it’s off by a small margin. This happens randomly for other collections too. This isn’t a secluded issue

I tried out Covalent’s Get token holders as of any block height endpoint for your contract which gives me 13,487 (if you set a page size of say 100k) compared to Etherscan’s at time of writing 13,489. You could maybe look into that.

Otherwise if you can’t find a solution, the most accurate option is to do what Etherscan have done and query the contracts directly, count up all the Transfers, etc. as unfortunately they don’t seem to offer this in their API.

we will have to investigate why it doesn’t return the expected number of unique owners

that particular contract returns now all the owners, with the exception of 0 address, you should get a number of owners smaller with 1 compared to what you see in etherscan