bulk_transfer_ens_names
Transfer multiple ENS names in one batch — bulk send.
Wrapped names going to the same recipient move in one transaction; each unwrapped name and unwrapped subname takes its own. 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 ownership of every name, and it cannot be undone. It moves the names only: each unwrapped name keeps its current manager, so each recipient should sync the manager to themselves (a signer that checks each hand-over on-chain first, such as the Name Whisper terminal, also gets a hand-over transaction per name the sender manages). 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. |