ENS Names
Your Cloaked identity is an ENS name. When someone sends funds to that name, Cloaked resolves it to a fresh stealth address for each payment, so a single shareable name never turns into a single reused public address.
There are two ways to receive at an ENS name:
- Your Cloaked subdomain: a free
yourname.clkd.ethname you pick during registration, with nothing to set up onchain. - A custom ENS name you own: link an existing
.ethname (e.g.alice.eth) so people can pay you at the name you already use, while you keep receiving at fresh stealth addresses.
You can use both at once. Linking a custom name does not disable your clkd.eth subdomain.
Bring Your Own ENS Name
Linking a custom name points its resolver at Cloaked. You stay the owner of the name the whole time. Cloaked only becomes the resolver, the contract that answers "what address does this name point to?", and you can change it back at any point.
Once linked, anyone resolving your name (in a wallet, an explorer, or a dApp) is sent to a freshly derived stealth address, exactly like your clkd.eth subdomain.
How It Works
- Enter your name. Type the ENS name you want to use (e.g.
alice.eth). Cloaked checks that it's a valid.ethname and not already a.clkd.ethname. - Connect the owning wallet. Connect the wallet that owns the name, or owns its parent so it can create a subname. Cloaked reads the name's ownership and current resolver onchain to confirm you can manage it.
- Point it at Cloaked. Approve a transaction that sets Cloaked's resolver for the name. If you'd rather dedicate a subname (e.g.
pay.alice.eth), Cloaked creates that record instead and leaves your root name untouched. - Confirm the link. Cloaked verifies onchain that its resolver is now set, then stores the link to your account. From then on, the name resolves to fresh stealth addresses.
The resolver-change transaction is a normal ENS transaction on Ethereum mainnet, so you pay network gas for it. After that, resolution is handled by Cloaked at no onchain cost to senders.
Using a Subname
You don't have to commit your main name. If you want to keep alice.eth pointed wherever it is today, link a subname like pay.alice.eth or clkd.alice.eth to Cloaked instead. The subname resolves to stealth addresses while your root name keeps its existing resolver.
Keeping Ownership
Linking is non-custodial in both directions:
- You keep the name. Cloaked is set only as the resolver, never the owner. Your ENS registration, expiry, and ownership are unchanged.
- You can unlink anytime. Set the name's resolver back to your previous choice (or any other resolver) and the link is removed. Cloaked never controls whether you can move your name elsewhere. See Unlinking a Custom Name for the steps.
Unlinking a Custom Name
Unlinking is the link in reverse: point the name's resolver away from Cloaked, then remove the name from your account. Your clkd.eth subdomain keeps working the whole time, and funds you've already received are unaffected.
- Open the unlink flow. In the app, find your custom name under Your ENS names and choose Unlink from Cloaked from the menu next to it.
- Enter a new resolver. Paste the resolver address the name should use from now on, such as the ENS Public Resolver. It must be a resolver contract; a plain wallet address can't answer ENS queries.
- Connect the managing wallet and approve. Connect the wallet that manages the name and approve the resolver-change transaction on Ethereum mainnet. Like linking, this is a normal ENS transaction, so you pay network gas.
- Cloaked removes the link. Once the transaction confirms, Cloaked verifies onchain that its resolver is no longer set, then removes the name from your account. The name stops resolving to fresh stealth addresses.
Already changed the resolver yourself? If you've pointed the name at another resolver in the ENS app, or transferred the name to a new owner, choose I manually updated ENS in the unlink flow instead. Cloaked checks the change onchain and removes the link without another transaction. If you made the change moments ago, verification can briefly lag behind the chain; wait a minute and retry.
After unlinking, the name resolves to whatever its new resolver says, so set its address records if you want it to keep pointing at a wallet. You can link the name to Cloaked again at any time.
Requirements & Limits
| Requirement | Detail |
|---|---|
| An ENS name you manage | You must own the name, or own its parent so you can create a subname. |
| Ethereum mainnet | The name and the resolver-change transaction live on Ethereum mainnet. |
Not a .clkd.eth name | Those are reserved for Cloaked subdomains and can't be linked as custom. |
| One custom name | An account has one active custom ENS name at a time. |
Privacy
The privacy benefit is the same as the rest of Cloaked: each payment lands at a distinct stealth address, so receives to your name don't pile up on one reused public address. Senders see only the address derived for their payment, never your other addresses.
Your custom name is stored on Cloaked only in encrypted form, under a key derived from your account that the server can't read. The name itself is public on Ethereum and anyone can resolve it, so the protection is in the fresh addresses behind it, not in hiding the name.
Advanced
Cloaked resolves names through an offchain resolver that uses CCIP-Read. When you link a name, the onchain transaction sets that resolver as the name's address provider. A query for the name (addr()) is then deferred to Cloaked's gateway, which derives a fresh stealth address for your account and returns a signed response that the resolver verifies. This is the same mechanism that powers clkd.eth subdomains, so custom names and Cloaked subdomains resolve identically.
Linking requires a signature from the name's manager so Cloaked can confirm the request comes from the controller, and Cloaked re-reads the resolver onchain before storing the link. Ownership reads use a configured RPC endpoint rather than the connected wallet's default provider, which avoids the rate-limited public endpoints that previously caused linking to fail in the browser.
Further Reading
- Using Cloaked: registration and choosing your
clkd.ethsubdomain - How It Works: stealth address derivation and the receiving flow
- ENS: the Ethereum Name Service

