Skip to main content
One row per contract’s first deployment: one address on one chain, with the accounts behind its creation and the size of the code it deployed. It holds every contract we see onchain, far past the ones anyone has labeled, and Accounts holds those labels.

Columns

ColumnTypeDescription
contract_idINT64Fingerprint of account_id, stable across runs.
account_idSTRINGContract as an account: {contract_address}-{chain_id}. The same pair as one key, for joining dimensions.accounts and dimensions.tokens.
chain_idSTRINGChain the contract is deployed on. With contract_address it is the cluster key and the pair to filter on: the same address on two chains is two different contracts.
contract_addressSTRINGAddress of the contract, spelled the way its chain spells it: lowercase on EVM and Starknet, base58 and case-sensitive on Solana and Tron. Lowercase an EVM address copied from an explorer before matching it here.
first_deployed_atTIMESTAMPTime the address first held code. An address can be created, destroyed with SELFDESTRUCT and created again; the row describes that first creation.
deployer_addressSTRINGAccount that signed the first deployment’s transaction.
creator_addressSTRINGAccount that called CREATE on the first deployment. Equals deployer_address for a direct creation, and differs where a factory contract creates on the signer’s behalf.
contract_sizeFLOAT64Deployed bytecode size in bytes, on the first deployment.

Sample queries

The table is clustered on chain_id and contract_address, and every row is current rather than dated. Filter on the chain, and on the address where you have it; a query that filters on neither reads the whole table.
Filter chain_id and contract_address together, since that pair is the cluster key. Lowercase an EVM address copied from an explorer before you paste it in.