bulk_register
Register multiple ENS names in bulk — total 2 transactions (multiCommit + multiRegister) via NWBulkRegistrar.
Much cheaper and faster than registering names one at a time. Supports up to 20 names per batch.
Flow: multiCommit (1 tx, all N commitments) → wait 60 seconds → multiRegister (1 tx with total ETH for all N names). Excess ETH is refunded.
On v1 the batch shares one secret across all names (every name is revealed in the same multiRegister transaction, so no reveal exposes another name's commitment). All names must be available for registration.
After registration, use bulk_set_records to configure all names at once with addresses, text records, and content hashes.
Once ENS has moved to v2 the result has type "ens_v2_registration" instead: paid in USDC or DAI (never ETH), steps commit (one tx for all names) → approve (if needed) → wait 60s → register. Through Name Whisper's ENS v2 router (feeMode "atomic") one register tx covers every name and carries the Name Whisper fee (1%, same token) in that same transaction; otherwise there is one register per name, each name has its own secret (so one register reveals nothing about the others), and the fee is a separate last transaction, sent only after the registrations go through. Follow the result's message: quote the total once in the token, as the result shows it (e.g. 8.09 USDC), with the Name Whisper fee as included in it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | Array of ENS names to register (e.g. ["coffee.eth", "tea.eth"]). Max 20 per batch. | |
| duration | No | Registration duration in days, applied to every name in the batch. ENS protocol minimum is 28 days; maximum is 3650 (10 years); default is 365 (1 year). | |
| fromAddress | No | ENS v2 only: the wallet that signs and pays in USDC/DAI, when it is not walletAddress (registering to another wallet). Defaults to walletAddress. | |
| paymentToken | No | ENS v2 only: the stablecoin symbol or address explicitly chosen by the user. Otherwise omit: defaults to the first USDC-family token accepted by the active router (MOCKUSDC on Sepolia; Circle USDC is not accepted there), then DAI, then other accepted tokens. Do not choose based on wallet balances. Ignored while ENS v1 registration is open, which is paid in ETH. | |
| durationYears | No | DEPRECATED — use duration (days) instead. Number of years (converted to days internally). | |
| walletAddress | Yes | Wallet address that will own all registered names |