Registration breaks in two ways: the app sits on "Almost there", or it shows a warning. Either way, try this first: disconnect your wallet, close the page, reopen app.ens.domains and reconnect.
Good to know
Registration is Step 1 (commit), Step 2 (wait 60 seconds) and Step 3 (register), and you approve the commit and the registration separately in your wallet.
You need ETH on Ethereum Mainnet for the fee and gas.
Never speed up the commit. That leaves the registration stuck on "Almost there".
Reconnecting won't break anything midway. Clearing your site data resets. If the app still holds your commit code, clearing it throws away the one thing that can finish the registration.
The app is stuck on "Almost there"
The app cannot find the commit code it saved in your browser at Step 1, and it needs that code to finish Step 3.
Find out whether anything was sent
Find the commit in your wallet's activity log — it is the one before the registration. Paste its hash into etherscan.io.
Your commit shows | What to do |
Still pending | Wait it out. Don't speed up, replace or cancel it — that changes the hash and leaves you stuck. |
Success, under 24 hours | The commit is onchain but the app lost the matching code. Reconnect and try Step 3; if it will not move, start over. |
Success, over 24 hours | The commit has expired. Start over. |
Sped up, replaced or cancelled | The app is tracking a hash that is not onchain. Start over. |
Nothing there at all | Your wallet never sent it. See If nothing was sent. |
If nothing was sent
Nothing reached Ethereum Mainnet, so you have not been charged. The usual cause is a wallet setting that holds transactions back instead of broadcasting them — in MetaMask, Smart Transactions, under Settings → Transactions. Turn it off and try again.
If that does not shift it, work through Why won't my wallet connect or broadcast my ENS transaction?
The app showed a warning
The warning | What to do |
"Commitment Too Old" | More than 24 hours passed after the commit confirmed, so it expired. Start over. |
"UnexpiredCommitmentExists" | An earlier commit is still active but was not fully tracked. Disconnect, close the page, reopen, reconnect and try again. If it still fails, start over. |
"Insufficient balance" | The app cannot see enough ETH on Ethereum Mainnet for the fee and the gas. |
If you think your balance is enough
What you hold | What to do |
USDC, or any token other than ETH | Swap some for ETH on Ethereum Mainnet. |
ETH on Base, Arbitrum or another L2 | Registration happens on Ethereum Mainnet. Bridge it across. |
Roughly the price of the name | Gas sits on top of the fee and the app checks for both. Add a little more ETH. |
How to start over
Try ens.eth.link
Turn off Smart Transactions in your wallet, then open ens.eth.link and connect the same wallet. It is the same ENS App on a different address, so it has its own session: a clean start that clears nothing. It is the quickest way out of every case here.
Clear cache and local storage
Clear the ENS App's site data (cache and local storage for app.ens.domains),
or open the app in a different browser,
Reopen app.ens.domains and reconnect the same wallet.
Search for the name and begin a new registration from Step 1.
