bulk_transfer_ens_names
Transfer multiple ENS names in a single transaction via Multicall3 — bulk send.
Much cheaper and faster than transferring names one at a time. Supports up to 20 names per batch.
Automatically detects whether each name is wrapped (NameWrapper/ERC-1155) or unwrapped (BaseRegistrar/ERC-721) and builds the correct transfer call for each.
All names can go to the same recipient or to different recipients — specify a toAddress per name. Each toAddress may be a 0x address OR an ENS name (resolved to its address record automatically); pass what the user gave you and never use get_name_details to resolve a recipient.
Conversational flow for "send all my names" / "transfer my names": first call get_wallet_portfolio to find the names, present the FULL list that will be transferred, confirm the recipient, and get explicit confirmation (this is IRREVERSIBLE). Only THEN call this tool. NEVER auto-transfer without explicit confirmation.
Requirements: fromAddress must currently own ALL names in the batch, and every name must be registered (not expired).
WARNING: This transfers FULL ownership of every name — recipients gain complete control. Resolver records (avatar, addresses, etc.) are unaffected and stay on each name; after transfer, consider bulk_set_records to update ETH address records.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| transfers | Yes | Array of name + recipient pairs. Max 20 per batch. All names must be owned by fromAddress. | |
| fromAddress | Yes | Current owner wallet address (must sign the transaction). All names must be owned by this address. |