> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# ERC20 Balances

> Block-level balance changes erc20 tokens across all addresses.

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 Name                     | Data Type         | Description                                                                    |
| ------------------------------- | ----------------- | ------------------------------------------------------------------------------ |
| address                         | VARCHAR           | The wallet address holding the tokens                                          |
| token\_address                  | VARCHAR           | Contract address of the token                                                  |
| token\_name                     | VARCHAR           | Name of the token                                                              |
| token\_symbol                   | VARCHAR           | Symbol of the token                                                            |
| raw\_balance                    | FLOAT             | Token balance, unnormalized                                                    |
| raw\_balance\_str               | VARCHAR           | Token balance as string to retain precision                                    |
| balance                         | FLOAT             | Token balance, normalized                                                      |
| balance\_str                    | VARCHAR           | Token balance as string to retain precision                                    |
| usd\_balance                    | FLOAT             | Token balances in USD                                                          |
| usd\_exchange\_rate             | FLOAT             | Exchange rate used for USD conversion                                          |
| block\_timestamp                | TIMESTAMP\_NTZ(9) | Timestamp of the block                                                         |
| block\_number                   | BIGINT            | Number of the block                                                            |
| block\_hash                     | VARCHAR           | Hash of the block                                                              |
| unique\_id                      | VARCHAR           | Unique identifier combining block, address, token address, token\_id, and type |
| \_created\_at                   | TIMESTAMP\_NTZ(9) | Timestamp of when the entry was created                                        |
| \_updated\_at                   | TIMESTAMP\_NTZ(9) | Timestamp of when the entry was last updated                                   |
| \_changed\_since\_full\_refresh | BOOLEAN           | Indicates if the record has changed since the last full refresh                |
