The ERC20 Balances table contains block-level balance changes of ERC20 tokens. Each entry in the model corresponds to a specific event/transaction that causes a balance change in a particular asset at the block level. This means a new data entry is only created when there is a transaction that alters token’s balance at the block level. For example, if a wallet receives 10 USDC in 2020 and experiences no further changes until yesterday, the model will have two entries: one for the initial receipt in 2020 and another for the recent change.

Table Columns

Unique Key: unique_id
Column NameData TypeDescription
token_typeVARCHARIdentifies whether the balance record is for a native or erc20 token
addressVARCHARThe wallet address holding the tokens
token_addressVARCHARContract address of the token
token_nameVARCHARName of the token
token_symbolVARCHARSymbol of the token
raw_balance_strVARCHARToken balance, unnormalized, as string to retain precision
raw_balanceFLOATToken balance, unnormalized
balance_strVARCHARToken balance as string to retain precision
balanceFLOATToken balance, normalized
usd_balanceFLOATToken balance, normalized, in USD
usd_exchange_rateFLOATExchange rate used for USD conversion
block_timestampTIMESTAMP_NTZ(9)Timestamp of the block
block_numberBIGINTNumber of the block
block_hashVARCHARHash of the block
unique_idVARCHARUnique identifier combining block, address, token address
_created_atTIMESTAMP_NTZ(9)Timestamp of when the entry was created
_updated_atTIMESTAMP_NTZ(9)Timestamp of when the entry was last updated