ENS

The Ethereum Name Service (ENS) is a distributed, open, and extensible naming system based on the Ethereum blockchain.

Users are able to register an ENS domain and replace their address with human-readable names that are easier to type and remember.

ENS Tables

The following ENS tables are available for users to query and enrich their analysis.

Table NameDescription

Contains all ENS names and their corresponding numeric token ID.

Contains all ENS registration events. Registration events happen when a new ENS name is registered (almost like minted) for the first time, or when a registration expires and someone else registers it again.

Contains all ENS renewal events

Contains all ENS transfer events with ENS token ID as, sender and recipient address as well as transaction-level data.

Contains the current ENS primary record of any address.

Sample Queries

Below are some examples of how you can use the ENS table to enrich your analysis.

Example 1 - Labelling of Wallets.

Using ens.primary_records_latest to identify ENS names of BoredApeYachtClub minters

 select 
  block_timestamp,
  name, 
  token_to_address, 
  token_address,
  token_name,
  token_symbol,
  token_id,
  raw_price,
  price,
  usd_price,
  transaction_hash
from ethereum.nfts.mints 
   left join (select name, address from ethereum.ens.primary_records_latest) on address = token_to_address 
   where token_address = '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d' -- BAYC contract 
limit 100

Example 2 - Identify ENS sold by name

Using the ens.names to find sales of ENS by name with nfts.trades.

select
  a.token_id as ens_id,
  ens.name as ens_name,
  marketplace,
  buyer_address,
  seller_address,
  usd_price,
  transaction_hash,
  block_timestamp
from ethereum.nfts.trades a
  left join ethereum.ens.names ens on a.token_id = ens.token_id 
  where token_address = '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85' -- ENS Contract 
limit 100

Table Column Name

Names

ethereum.ens.names

Column NameDescription

token_id

Numeric token ID corresponding to the ENS name.

name

An ENS identifier such as 'alice.eth'. Names may consist of multiple parts, called labels, separated by dots.

Registrations

ethereum.ens.registrations

ColumnDescription

name

An individual component of a name, such as 'alice'.

owner_address

Address of the ENS owner.

eth_cost

ETH cost of the ENS registration.

usd_cost

USD cost of the ENS registration at the time of transaction.

registration_timestamp

Timestamp of the ENS registration.

expiry_timestamp

Expiry timestamp of the ENS name registered.

token_id

Numeric token ID corresponding to the ENS name.

log_index

Log index of the ENS registration.

transaction_hash

Transaction hash of the ENS registration.

block_number

Block number of the record.

block_hash

Block hash of the record.

Renewals

ethereum.ens.renewals

Column NameDescription

block_hash

Block hash of the renewal.

block_number

Block number of the renewal.

block_timestamp

Block timestamp of the renewal.

cost

Renewal cost in ETH.

expiry_date

Date of expiry of the renewal.

log_index

Log index of the ENS registration.

name

Name of the ENS domain that was renewed

transaction_hash

Transaction hash of the renewal.

Net Transfers

ethereum.ens.net_transfers

Column NameDescription

block_hash

Block hash of the transfer.

block_number

Block number of the transfer.

block_timestamp

Block timestamp of the transfer.

prev_transfer_block_timestamp

Block timestamp of the previous transfer.

from_address

Address of the sender.

to_address

Address of the receiver

token_id

Token ID of the ENS being transferred.

transaction_hash

Transaction hash of the transfer.

Primary Record Latest

ethereum.ens.primary_records_latest

Column NameDescription

address

Address that registered the ENS name.

block_hash

Block hash of the record.

block_number

Block number of the record.

block_timestamp

Block timestamp of the record.

name

An ENS identifier such as 'alice.eth'. Names may consist of multiple parts, called labels, separated by dots.

Last updated