Fetch L2 Subnames
Indexer has method for fetching single or multiple l2 subnames.
1. getL2Subname
The getL2Subname
method retrieves a single subname registered on an L2 chain.
Usage
const response = await client.getL2Subname({
chainId: 8453,
namehashOrName: "namespace.eth"
});
chainId
: The id target L2 network (e.g.,"base(8453)"
,"optimism(10)"
,"baseSepolia(84532)"
)nameOrNamehash
: name or namehash repersentation of an ENS name
Return Type
export interface L2SubnameResponse {
name: string;
namehash: string;
label: string;
parentNamehash: string;
owner: string;
texts: Record<string, string>;
addresses: Record<string, string>;
contenthash?: string;
chainId: number;
expiry: number;
mintTransaction?: {
price: number;
paymentReceiver: string;
};
}
Field Description
name
Full subname (e.g., alice.oppunk.eth
)
namehash
ENS-compatible namehash of the subname
label
The label (left-most part) of the subname
parentNamehash
Namehash of the parent domain (e.g., oppunk.eth
)
owner
Ethereum address of the current owner
texts
Map of text records associated with the subname
addresses
Map of address records (coin type → address)
contenthash
Optional content hash (e.g., IPFS, Arweave link)
chainId
Chain ID where the subname is registered (e.g., 8453
for Base)
expiry
Unix timestamp indicating when the subname will expire ( 0 for non expirable subnames )
mintTransaction
Optional object describing the minting transaction
├─ price
Minting price in ETH
└─ paymentReceiver
Ethereum address that received the mint payment
2. getL2Subnames
The getL2Subnames
method allows you to retrieve a paginated list of Layer 2 (L2) subnames based on various filter criteria.
Usage
client.getL2Subnames({
chainId: 8453, // base
parentName: "example.eth",
pageSize: 200,
});
Query Parameters
export interface GetL2SubnamesQuery {
owner?: string;
chainId?: number;
page?: number;
size?: number;
parent?: string;
isTestnet?: boolean;
stringSearch?: string
}
Return Type
export interface L2SubnamePagedResponse {
items: L2SubnameResponse[];
totalItems: number;
page: number;
pageSize: number;
}
Last updated