If you own more than a handful of ENS names, renewing them one at a time is the most expensive thing you can do. Each renewal is a separate Ethereum transaction with its own base gas cost (~21,000 gas) and its own execution cost on top. Bundle them into a single bulk-renew call and the per-name cost drops by roughly 80%.
The savings aren't theoretical. Here's the actual math.
The math
A single ENS renewal calls the registrar controller's renew()function. Total gas: ~75,000 (21K base + ~54K execution). At 30 gwei and ETH at $3,500, that's roughly $8 per name just in gas, before the renewal fee itself.
The official ENS Bulk Renewal contract takes an array of names + an array of durations and renews them all in one call. The base gas is paid once; the execution cost per additional name is ~30,000 — about 40% of a standalone renewal. The savings compound:
- 1 name: ~75K gas, ~$8
- 5 names (one-at-a-time): ~375K gas, ~$40
- 5 names (bulk): ~165K gas, ~$18 — saves $22
- 20 names (one-at-a-time): ~1,500K gas, ~$160
- 20 names (bulk): ~615K gas, ~$66 — saves $94
- 100 names (bulk): ~2,975K gas, ~$317 vs $800 one-at-a-time — saves $483
Bigger portfolios save more. There's no upper bound on the array size besides block gas limit (which lets you renew several hundred names in one transaction).
How to do it on ENS.Tools
Go to your Dashboard and click "Bulk Extend." You'll see your full portfolio with checkboxes — select the names you want to renew. The flow:
- Pick a duration (1, 2, 5, 10 years — same for all selected names).
- The summary card shows total renewal fee, our 5% platform fee, gas estimate, and total. The 5% fee goes to
enstools.eth— visible on-chain, never hidden. - Sign once. The transaction goes directly to the ENS Bulk Renewal contract — we don't custody anything.
If you want to estimate before logging in, use the Gas Savings Calculator to see the exact saving for your portfolio size at current gas prices.
When NOT to bulk-renew
- Different durations. Bulk renewal applies the same duration to every selected name. If you want some for 1 year and some for 5, you'll need two separate bulk transactions (still cheaper than renewing each individually).
- Names expiring on very different dates. If you're renewing a name that doesn't expire for 6 months alongside one expiring next week, you might prefer to wait and bundle later renewals together for a bigger discount.
- You only own 1-2 names. The gas savings on a 2-name bundle are real (~$2-3) but smaller than the cost of taking the extra minute to set up. For 1-2 names, single-renew is fine.
Wrapping names while you're at it
Wrapped names (NameWrapper contract) unlock fuses, subname management, and ENS v2 compatibility. The catch: wrapping costs gas per name.
The same bundling principle applies. Our BulkWrap contract wraps multiple names in one transaction — same flow as bulk-renew, accessible from Dashboard. If you're already renewing 10 names today and they're unwrapped, this is the cheapest moment to wrap them too.
Set an annual reminder
The easiest way to never pay one-at-a-time renewals again is to renew everything for 5 years at once. Bulk gas pays for itself many times over and you don't think about it again until 2031.
If you'd rather keep durations short, set up alerts at /manage/alerts so the team gets a heads-up 30 days before any name expires. Email, browser push, or Discord — pick one.
Estimate the saving for your portfolio: Gas Savings Calculator →