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:
0202 - Table:
blockdb_evm.b0202_erc721_tokens_v1 - Description: Catalog of ERC-721 NFT collection contracts (EIP-721).
- Stable id:
contract_id(per deployment incarnation; multiple snapshot rows possible—see callout) - API: POST /evm/entities/tokens/erc721
- CSV Sample: Download
- JSON Sample: Download
How we recognize ERC-721
We treat a contract as ERC-721 when it complies with the EIP-721 Non-Fungible Token Standard. Primary detection uses ERC-165: we callsupportsInterface(0x80ac58cd) and, if it returns true, we classify the address as an ERC-721 NFT collection. If that check is unavailable, we use a fallback heuristic: the contract returns a valid result for ownerOf(uint256) and does not implement decimals() (so it is distinguished from ERC-20). Optional extensions — ERC721Metadata (name, symbol, tokenURI) and ERC721Enumerable — are detected via their ERC-165 interface IDs; we store token_uri, supports_metadata, and supports_enumerable 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-721 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 | Collection name from name() (ERC721Metadata, optional). |
symbol | TEXT | Collection symbol from symbol() (ERC721Metadata, optional). |
token_uri | TEXT | Representative sample from the discovery probe. |
supports_metadata | BOOLEAN | Whether the contract supports the ERC721Metadata extension; NULL when detection was via fallback. |
supports_enumerable | BOOLEAN | Whether the contract supports the ERC721Enumerable extension; NULL when detection was via fallback. |
_tracing_id | BYTEA | Tracing ID of this ERC-721 token record. |
_parent_tracing_ids | BYTEA[] | Tracing IDs of the parent records leading to this ERC-721 token record. |
_created_at | TIMESTAMPTZ | Record creation timestamp. |
_updated_at | TIMESTAMPTZ | Record last update timestamp. |
Use Cases
- NFT collection registry for marketplaces and analytics platforms
- Collection discovery and new listing detection
- Metadata resolution via token_uri for display purposes
- Portfolio tracking and wallet analytics for NFT holdings
Related Datasets
Token Transfers
ERC-721 transfer events for these NFTs.
ERC-20 Tokens
Fungible token registry for cross-standard joins.
ERC-1155 Tokens
Multi-token standard for gaming and metaverse assets.