Skip to main content
Custom key-value metadata records for offchain ENS subnames. Not used for onchain resolution but useful for discovery and filtering via getFilteredSubnames.

1. addDataRecord

Add or update a metadata record.
await client.addDataRecord({
  subname: "ns.myensname.eth",
  key: "token-holder",
  data: "1200",
});
Parameters:
  • subname - Full ENS subname
  • key - Case-sensitive metadata key
  • data - Value to store (string)
If the key exists, its value will be overwritten.

2. deleteDataRecord

Delete a metadata record.
await client.deleteDataRecord({
  subname: "ns.myensname.eth",
  key: "token-holder",
});

3. getDataRecords

Get all metadata records for a subname.
const allMetadata = await client.getDataRecords("ns.myensname.eth");
// Returns: Record<string, string>
Example Result:
{
  "token-holder": "1200",
  "segment": "pro"
}

4. getDataRecord

Get a specific metadata record by key.
const response = await client.getDataRecord("ns.myensname.eth", "token-holder");
const data = response.record; // "1200"
Return Type:
interface GetRecordResponse {
  record: string;
}
I