Links

nft_accountStats

Get account stats information for any NFT collection.
Through nft_accountStats, you can fetch the number of transfers and approval events that the holder has in the specific collection, contractAddress is necessary. Using this API, you could see the broad view of transfer and approval stream of certain account.
Supported on Ethereum, BNB Chain, Optimism, and Arbitrum.

Parameters

Object - An object with the following fields (required):
  • contractAddress(hex string, required) - the contract address of the collection. BlockVision currently support both ERC721 and ERC1155.
  • accountAddress(hex string, optional) - the account address you want to query.
  • blockNumber(integer number, optional) - specify the blockNumber for snapshot query (default latest). BlockVision can not only support users to query the current position, but also support users to query the historical information at any time.

Returns

Object - An object with the following fields:
  • id(integer number) - json-rpc id.
  • jsonrpc(string) - json-rpc version.
  • result(object) - an object with the following fields:
    • activeAddress(integer number) - active address amount.
    • totalTransfer(integer number) - total transfer amount.
    • totalApprovalForAll(integer number) - total approvalForAll amount.
    • onedayTransfer(integer number) - oneday transfer amount.
    • onedayApprovalForAll(integer number) - oneday approvalForAll amount.

Example

Request

curl
TypeScript
curl https://api.blockvision.org/v1/<api key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
"id": 1,
"jsonrpc": "2.0",
"method": "nft_accountStats",
"params": {
"contractAddress":"0xad9Fd7cB4fC7A0fBCE08d64068f60CbDE22Ed34C",
"accountAddress":"0xC4B0D0A7717905d342926958453e0654806850bB",
"blockNumber": 0
}
}'
import { BlockVisionProvider, BvNetwork } from 'blockvision.js'
// Optional parameters, but default to eth-mainnet and default api-key.
const bv = new BlockVisionProvider(BvNetwork.ETH_MAINNET)
// Access the BlockVision NFT API
bv.getNFTAccountStats({
contractAddress: '0xad9Fd7cB4fC7A0fBCE08d64068f60CbDE22Ed34C',
accountAddress: '0xC4B0D0A7717905d342926958453e0654806850bB',
blockNumber: 0
}).then(console.log)

Result

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"totalTransfer": 24535,
"totalApprovalForAll": 69,
"onedayTransfer": 69,
"onedayApprovalForAll": 0
}
}