Scout Chart Creator
  • Overview
  • Get Started
    • Tutorial 1: NMR Daily Transaction Count
    • Tutorial 2: LPT Weekly Volume (USD)
    • Tutorial 3: NMR vs LPT Daily comparison
  • Pipeline
    • Filter
    • Project
    • Group
      • Accumulators
    • Sort
    • Unwind
    • Custom
  • Data Source
    • Transactions
    • States
    • Contracts
    • Aragon
    • Livepeer
    • dYdX
    • Set
    • Token holders
  • Operators
    • Math operators
    • Logic operators
    • Function operators
    • Array operators
    • String operators
  • Config
  • Protocols
    • Dodo
      • 24H trade volume
      • Deposit & Withdraw
    • Livepeer
    • dYdX
      • Making sense of the trade data
    • MakerDao
    • Pickle Finance
      • Example: Daily deposit and withdraw of jar 0.88
      • Example: Listing all borrows of a strategy
  • FAQ
    • Dealing with "logs" field in "Transaction"
    • How to handle "Query Timeout" error?
    • How to use a variable in a Pipeline
  • Research
    • The circulating supply of DODO tokens
    • How are bitcoins doing on Ethereum? (as of Jan 20th 2021)
Powered by GitBook
On this page

Was this helpful?

  1. Data Source

Token holders

There are a set of data sources dedicated to the token holder information of different tokens. All of them share the same data structure.

PreviousSetNextOperators

Last updated 4 years ago

Was this helpful?

Let us use "WBTC Token Holders" as an example. At the end of every hour, we take a snapshot of the balances of the token holders who have sent or received any transactions within that hour. Here is what the data looks like:

address: The wallet or smart contract address that has transacted the token.

balance: Token balance. The amount calculated here has already factored in the token decimals.

balanceUSD: The USD amount of the token balance at that time. So the token price used in the calculation is a historical value.

hour: The beginning of the hour when the snapshot was taken.

transfers: The array that contains all the transfer actions within the past hour. Each element of the array is a token "Transfer" event.

transfers.blockNumber: The block when the token "Transfer" event happened.

transfers.blockTimestamp: The corresponding time of the block

transfers.amount: The amount of token that was transferred. A positive value means tokens were transferred into the address while a negative value means the opposite.

transfers.amountUSD: The USD amount of the transferred tokens.

transfers.txHash: The unique hash of the transaction where the token "Transfer" happened.

latest (optional): The value will be true If the current record is the most recent one. Otherwise, this attribute won't show up. You can use this attribute when creating charts which require the latest balance or transaction of a certain wallet. For example: To display the top 20 token holders based on balance.

first (optional): The value will be true if the current record is the first time this wallet has ever sent or received a token. Otherwise, this attribute won't show up. You can use this attribute when creating charts which need to know whether it's the first time this wallet has transacted a token. For example: To display how many new wallets have started transacting the token.

Sample data