Documentation Index
Fetch the complete documentation index at: https://docs.blockdb.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
- Dataset ID:
0203 - Table:
blockdb_evm.b0203_erc1155_tokens_v1 - Description: Catalog of ERC-1155 Multi Token contracts (EIP-1155); one contract can have many token types.
- Stable id:
contract_id(per deployment incarnation; multiple snapshot rows possible—see callout) - API: POST /evm/entities/tokens/erc1155
- CSV Sample: Download
- JSON Sample: Download
How we recognize ERC-1155
We treat a contract as ERC-1155 when it complies with the EIP-1155 Multi Token Standard. Primary detection uses ERC-165: we callsupportsInterface(0xd9b67a26) and, if it returns true, we classify the address as an ERC-1155 multi-token contract. If that check is unavailable, we use a fallback heuristic: the contract returns a valid result for balanceOf(address, uint256) (the two-argument form required by EIP-1155) and does not implement ownerOf(uint256) or decimals(), so it is distinguished from ERC-721 and ERC-20. The optional ERC1155Metadata_URI extension (uri(uint256)) is detected via ERC-165; we store uri, supports_metadata_uri, and any optional name/symbol/decimals when present.
This table is append-only: the same
contract_id can have multiple rows when an upgradeable proxy swaps implementation—we append refreshed view reads at upgradeBlock + 1 with tx_index = -1 (genesis rows use a normal tx index). For current metadata, take the latest block_number per contract_id (for point-in-time, add block_number <= $target first). Join on contract_id, not contract_address alone—redeploys at the same address get a new contract_id.Sample Viewer
Columns
| Column | Type | Description |
|---|---|---|
contract_id | BYTEA | Unique contract incarnation ID: 20B address + 4B creation block (BE) + 2B tx_index (BE). |
contract_address | BYTEA | Address of the ERC-1155 contract (20 bytes). |
block_number | BIGINT | Block of the log we attribute as the genesis/recognition point. |
block_time | TIMESTAMPTZ | UTC timestamp of the block. |
tx_index | INTEGER | Transaction index in the block, or -1 for proxy-upgrade refresh rows (see callout). |
name | TEXT | Contract name from name() (optional in EIP-1155). |
symbol | TEXT | Contract symbol from symbol() (optional in EIP-1155). |
decimals | SMALLINT | Contract decimals from decimals() (optional in EIP-1155). |
uri | TEXT | URI from uri(uint256) (optional ERC1155Metadata_URI); clients replace with token ID in hex (64 chars). |
supports_metadata_uri | BOOLEAN | Whether the contract supports the ERC1155Metadata_URI extension; NULL when detection was via fallback. |
_tracing_id | BYTEA | Tracing ID of this record. |
_parent_tracing_ids | BYTEA[] | Tracing IDs of the parent records. |
_created_at | TIMESTAMPTZ | Record creation timestamp. |
_updated_at | TIMESTAMPTZ | Record last update timestamp. |
Use Cases
- Multi-token and semi-fungible contract registry
- Game assets and metaverse item catalogs
- Metadata resolution via uri(uint256) with substitution
- Portfolio and transfer analytics for ERC-1155 holdings
Related Datasets
Token Transfers
ERC-1155 transfer events for these tokens.
ERC-20 Tokens
Fungible token registry for cross-standard analysis.
ERC-721 Tokens
NFT token registry for cross-standard joins.