set_ens_records
Set ENS resolver records for a name you own. Returns encoded transaction calldata ready to sign and broadcast.
Supports: address records — ETH as a plain 0x address, non-ETH coins (BTC, SOL, LTC, DOGE, …) as the raw wallet-format address (bc1…, base58, …) which is ENSIP-9-encoded automatically; text records (avatar, description, url, social handles, AI agent metadata); contenthash as an ipfs:///ipns:// URI or bare CID (auto-encoded) or a pre-encoded 0x value; ENSIP-25 agent-registration records; and ENSIP-26 agent context and endpoint discovery. Always pass addresses and CIDs EXACTLY as the user gave them — never reconstruct or abbreviate them.
Multiple records are batched into a single multicall transaction to save gas.
Common text record keys: avatar, description, url, email, com.twitter, com.github, com.discord, ai.agent, ai.purpose, ai.capabilities, ai.category.
ENSIP-25 support: Pass agentRegistration with registryAddress and agentId to automatically set the standardized agent-registration text record. This creates a verifiable on-chain binding between your ENS name and your agent identity in an ERC-8004 registry.
ENSIP-26 support: Pass agentContext to set the agent-context text record (free-form agent description). Pass agentEndpoints with protocol URLs (mcp, a2a, oasf, web) to set agent-endpoint[protocol] discovery records.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to set records for (e.g. "myagent.eth") | |
| records | Yes | Records to set on the name | |
| walletAddress | Yes | Wallet address that owns the name (must sign the transaction) |