Skip to main content

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.

Hedera Data Access

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:

EventSignature (topic0)
TransferSingle0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62
TransferBatch0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb

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_timestamp is 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_timestamp are 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:

  • day
  • week
  • month
  • quarter
  • year

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

View GitHub Repository →

Dependencies

  • Hedera mirror node (contract_log)