Transfer value error

i’m using this api: Moralis.Web3API.native.getNFTTransfersByBlock
if a transaction has more than 1 transfers, the transfer value returned by this api is the total value, not average value.
this is an example transfer returned by this api:


    "_id" : ObjectId("61ac1cfcedf3ade5504c3900"),

    "token_address" : "0x977dc06b51e14277a5ac047b44c78dbcc60a372b",

    "token_id" : "39",

    "from_address" : "0xa4cca25ce88dc2d3bbf6da5a6f98f2cc079c97d9",

    "to_address" : "0x808ddc4e39a04c692cbbe6d32197ca75efb7aa8b",

    "value" : "2900000000000000000",

    "amount" : "1",

    "contract_type" : "ERC721",

    "block_number" : "13743275",

    "block_timestamp" : "2021-12-05T01:53:49.000Z",

    "block_hash" : "0xbfb4fb7b4d98dea93ec0735379d59069d2216782fc381f7706633420d2721f52",

    "transaction_hash" : "0xe1e4be1e149948eacb17797fcaf0a4f91e070b0ab134e02481f81930c49f1b88",

    "transaction_type" : "Single",

    "transaction_index" : 10,

    "log_index" : 19


the value field, which is the total value of the transaction, is not very right here.

I think that it is only the total value of the transaction, is not easy to make the separation per NFT, sometimes multiple NFTs are transferred in the same transaction and those NFTs may have different price.

You are right. but the transfer data does not have a field of total count .
this field is useful, especially for a mint transaction, where each mint is equal.

you could try to process the events for that transaction for more accurate data
it doesn’t seem to be an easy solution for the general case

I’m building an app that shows avg mint price and avg trade price.
the resulting price is about 2~3 times higher than the actual price.
If getting it right, I need to traverse every transfer/transaction.
The request num would be huge.
you have all transactions. is hard for you to get an extra total count for each transfer?

how would we get that extra total count properly for every transaction?

if we add it and it doesn’t work properly for every transaction, than someone would say why it is not working properly for those particular cases

each transfer event has a transaction_hash.
you can get all transfers associated to a certain transaction.

and if there is a transaction when someone exchanges 3 nfts for other 4 nfts and also pays some ETH?
or if the payment is done in ERC20 tokens?

yes. it happens.
is it possible that add a flag field on the transfer data that indicates the associated transaction has other transfers?
for now i can not distinguish which transfer’s value is valid.