---
title: "How to renew 10+ ENS names in one transaction (and save 80% on gas)"
description: "Per-name renewal is the default flow most ENS owners use — and it costs more in gas than it should. Here is the math, the contract, and the tool that bundles 10, 50, or 200 renewals into a single signing event."
published: "2026-05-21"
author: "ENS.Tools"
canonical: "https://ens.tools/blog/bulk-renew-ens-names-save-gas"
readingMinutes: 5
tag: "Guide"
---

# How to renew 10+ ENS names in one transaction (and save 80% on gas)

Per-name renewal is the default flow most ENS owners use — and it costs more in gas than it should. Here is the math, the contract, and the tool that bundles 10, 50, or 200 renewals into a single signing event.

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](/manage) and click "Bulk Extend." You'll see your full portfolio with checkboxes — select the names you want to renew. The flow:

1. Pick a duration (1, 2, 5, 10 years — same for all selected names).
2. 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.
3. 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](/manage/gas) 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](/manage). 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](/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 →](/manage/gas)
