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.
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

