# ERC20 Token Holders

ERC20 Token Holders table records the balance of each token holder at a given block. Each row represents a holder's balance for a specific token, including the token address, wallet address, balance (balance\_of), and the associated block details.

## ETL data class

| Column Name       | Data Type | Note |
| ----------------- | --------- | ---- |
| token\_address    | str       |      |
| wallet\_address   | str       |      |
| balance\_of       | int       |      |
| transaction\_hash | str       |      |
| block\_timestamp  | timestamp |      |
| block\_number     | int       |      |
| block\_hash       | str       |      |

Examples

```json
{
  "token_address": "0x80137510979822322193fc997d400d5a6c747bf7",
  "wallet_address": "0xcaab1bd9025a576cee4757506d81b32e4724f9ef",
  "balance_of": 9834981273804,
  "transaction_hash": null,
  "block_timestamp": "2023-11-16T01:06:59.000Z",
  "block_number": 590166,
  "block_hash": null
}
```

```csv
0x80137510979822322193fc997d400d5a6c747bf7,0xcaab1bd9025a576cee4757506d81b32e4724f9ef,9834981273804,,,2023-11-16T01:06:59.000Z,590166,
```

## Model in the Database

| Column Name       | Data Type    | Note |
| ----------------- | ------------ | ---- |
| token\_address    | bytea        |      |
| wallet\_address   | bytea        |      |
| balance\_of       | numeric(100) |      |
| transaction\_hash | bytea        |      |
| block\_timestamp  | timestamp    |      |
| block\_number     | bigint       |      |
| block\_hash       | bytea        |      |

```json
{
  "token_address": "\\x80137510979822322193fc997d400d5a6c747bf7",
  "wallet_address": "\\xcaab1bd9025a576cee4757506d81b32e4724f9ef",
  "balance_of": 9834981273804,
  "transaction_hash": null,
  "block_timestamp": "2023-11-16 01:06:59.000000",
  "block_number": 590166,
  "block_hash": null
}
```

```csv
\\x80137510979822322193fc997d400d5a6c747bf7,\\xcaab1bd9025a576cee4757506d81b32e4724f9ef,9834981273804,,,2023-11-16 01:06:59.000000,590166,
```
