Total ERC-1155 Accounts
Total ERC-1155 Accounts represents the cumulative number of unique addresses that have received an ERC-1155 token on Hedera, as of the end of each period.
To access this Hedera network statistic (and others) via Hgraph's GraphQL & REST APIs, create a free account at app.hgraph.com.
Hedera Stat Name: total_erc1155_accounts
Methodology
Identifying ERC-1155 Receipts
Unlike the other ERC account statistics, ERC-1155 holders are derived directly from raw contract event logs rather than from indexed token tables. The calculation reads the mirror node's contract_log table and selects events whose topic0 matches one of the two ERC-1155 transfer signatures:
| Event | Signature (topic0) |
|---|---|
TransferSingle | 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62 |
TransferBatch | 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb |
Decoding the Recipient
The recipient address is carried in topic3 and is decoded with variable-length handling, because PostgreSQL stores the topic as bytea with leading zero bytes stripped:
- Exactly 20 bytes: used as-is.
- Fewer than 20 bytes: left-padded with zeros to the full 20-byte address.
- More than 20 bytes: the trailing 20 bytes are taken.
The zero address (0x0000000000000000000000000000000000000000) is excluded, as it represents mints and burns rather than a holder.
Processing Logic
- First Receipt: For each decoded address, the earliest qualifying
consensus_timestampis retained, computed across all history so that an address receiving both before and during the window is counted once. - Baseline: Addresses whose first receipt predates
start_timestampare counted as a single baseline figure. - Per-Period Additions: Addresses whose first receipt falls inside the window are grouped by the period containing it.
- Rolling Total: Each period's value is the baseline plus the running sum of new addresses, producing a monotonically non-decreasing series.
Interpretation
This is an approximation of holders. An address is counted from its first receipt onward and is never removed, even after transferring its entire balance away.
Because it reads raw logs rather than indexed tables, this statistic remains available independently of the ERC token indexer, at the cost of a substantially more expensive query.
GraphQL API Examples
Test out these queries using our developer playground.
Fetch current total ERC-1155 accounts (day)
query TotalErc1155AccountsDay {
ecosystem_metric(
order_by: { end_date: desc_nulls_last }
limit: 1
where: { name: { _eq: "total_erc1155_accounts" }, period: { _eq: "day" } }
) {
total
end_date
}
}
Fetch monthly total ERC-1155 accounts for 1 year (timeseries)
query TotalErc1155AccountsMonthly {
ecosystem_metric(
order_by: { end_date: desc_nulls_last }
limit: 12
where: { name: { _eq: "total_erc1155_accounts" }, period: { _eq: "month" } }
) {
total
end_date
}
}
Available Time Periods
The period field supports the following values:
dayweekmonthquarteryear
SQL Implementation
Below is a link to the Hedera Stats GitHub repository. The repo contains the SQL function that calculates the Total ERC-1155 Accounts statistic outlined in this methodology.
SQL Function: ecosystem.total_erc1155_accounts
Dependencies
- Hedera mirror node (
contract_log)