Search
K

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 Name
Description
names
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.
renewals
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 Name
Description
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
Column
Description
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 Name
Description
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 Name
Description
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 Name
Description
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.