Get transfers by token ID

Hi,
I’m trying to fetch all transfers of an NFT using a contract address and token ID
From the following page: https://docs.moralis.io/reference/getnfttransfers.
Now I’m facing two issues on the response data:

  1. The transfer done through WETH are not shown. Although I’m checking for and ERC 721 NFT but on Opensea it has the WETH value but in the response it shows 0.

  2. The other issue is if someone make a transfer of more than one NFT on one go the response for each NFT is the sum of all.

I’m checking for this NFT: https://opensea.io/assets/ethereum/0x7f7685b4cc34bd19e2b712d8a89f34d219e76c35/4862

This is the response I’m getting:

{
“total”: 4,
“page”: 0,
“page_size”: 100,
“cursor”: null,
“result”: [
{
“block_number”: “16100804”,
“block_timestamp”: “2022-12-03T00:48:23.000Z”,
“block_hash”: “0x8d03ba59f52c9d9a812701f35a41c77454bd4e92a2409a6ab6b24090aadda978”,
“transaction_hash”: “0x75d167da8c5dbcd27492acbbc997180bc1e27f14e9fd4849cd9d1f2b65b67593”,
“transaction_index”: 91,
“log_index”: 167,
"value": “828100000000000000”,
“contract_type”: “ERC721”,
“transaction_type”: “Single”,
“token_address”: “0x7f7685b4cc34bd19e2b712d8a89f34d219e76c35”,
“token_id”: “4862”,
“from_address”: “0x181c63a78a3338e9cd2ba8809f0e9761834e47bb”,
“to_address”: “0x985c2748b495004ee7a15cd107f0ebc9e20b1667”,
“amount”: “1”,
“verified”: 1,
“operator”: null
},
{
“block_number”: “15981565”,
“block_timestamp”: “2022-11-16T09:02:47.000Z”,
“block_hash”: “0x0829595154f8b0ad6ed75b0957717a17bd46922729e420c6b8be4d43888b5842”,
“transaction_hash”: “0xbb3d101e51e1512769495492a6e6700c52b49fb68cd744b02e02aaba6a1f812f”,
“transaction_index”: 77,
“log_index”: 480,
"value": “0”,
“contract_type”: “ERC721”,
“transaction_type”: “Single”,
“token_address”: “0x7f7685b4cc34bd19e2b712d8a89f34d219e76c35”,
“token_id”: “4862”,
“from_address”: “0x91b7f6b94554cf9e1dc041d9a15f5bec30b71166”,
“to_address”: “0x181c63a78a3338e9cd2ba8809f0e9761834e47bb”,
“amount”: “1”,
“verified”: 1,
“operator”: null
},
{
“block_number”: “14087153”,
“block_timestamp”: “2022-01-27T10:27:17.000Z”,
“block_hash”: “0x01147563cbd8f416728ede97631b742c1b9486e11090804b3784b897993ba67f”,
“transaction_hash”: “0x9dc9aa88af37326d0b2d84e2421748c3b51be634137333481ab00a587549026d”,
“transaction_index”: 101,
“log_index”: 119,
“value”: “330000000000000000”,
“contract_type”: “ERC721”,
“transaction_type”: “Single”,
“token_address”: “0x7f7685b4cc34bd19e2b712d8a89f34d219e76c35”,
“token_id”: “4862”,
“from_address”: “0xaf35df0019595baec1f062a76ad5b33a29171aac”,
“to_address”: “0x91b7f6b94554cf9e1dc041d9a15f5bec30b71166”,
“amount”: “1”,
“verified”: 1,
“operator”: null
},
{
“block_number”: “13996279”,
“block_timestamp”: “2022-01-13T09:10:23.000Z”,
“block_hash”: “0xe973d7b33309c45f0464e61e64883bad6756b924c936ebd0f427dd0c99b2dc35”,
“transaction_hash”: “0x143a91581f5c0c526a1cdb686b07dda2c3d9f213a442ffc4c081589b0871ecd4”,
“transaction_index”: 255,
“log_index”: 270,
“value”: “140000000000000000”,
“contract_type”: “ERC721”,
“transaction_type”: “Single”,
“token_address”: “0x7f7685b4cc34bd19e2b712d8a89f34d219e76c35”,
“token_id”: “4862”,
“from_address”: “0x0000000000000000000000000000000000000000”,
“to_address”: “0xaf35df0019595baec1f062a76ad5b33a29171aac”,
“amount”: “1”,
“verified”: 1,
“operator”: null
}
],
“block_exists”: true
}
If we compare the two bold marked value from the response with opensea we can have the difference.

Can anyone please let me know how to fix this.

these are only the transfers (what you get from that endpoint), not the trades, opensea has more info about those trades there, as they are done on opensea, we also have an endpoint specific to opensea trades that that one is not perfect either