How it works
You prove ownership of your producer key by signing a short message with it, exactly as you did when you registered. The backend then:
- Verifies the signature against the pubkey in the request.
- Checks the new name is free, not reserved, and not the one you already have.
- Checks the 30-day cooldown has elapsed on that pubkey.
- Applies the rename immediately — there is no confirmation step of any kind, and nothing is sent to you.
- Releases your previous name the instant the change commits. It is not reserved for you and there is no cool-off on it: anyone can claim it immediately, including someone who wants to be mistaken for you. If the old name matters, do not free it by renaming.
Your public key and network are untouched, and so is the registration itself: renaming is not a re-registration and does not touch the 30-day post-deletion lockout. Only the display name changes.
The public /names list is rebuilt at the origin
at most once every 30 seconds, and it is served with
Cache-Control: public, max-age=30, so a client
that caches the response can be a further 30 seconds behind that.
The network dashboard reads that list once per page load, so the new name shows up there on a later load of that page — a dashboard already open will not pick it up until someone reloads it. A node whose public key is already in the dashboard's own built-in producer list keeps that built-in name instead.
1 Name it
2 Sign it
Available once you generate a command above.
My wallet is somewhere else
Adjust --wallet to your producer key. If
your node runs under systemd, it is the path passed to
--producer-key.
3 Rename it
Available once you generate a command above.
If it is rejected
The registry answers every failure with the same
{"error":"rejected"} body, on purpose — otherwise
the endpoint would tell a stranger which keys and names exist. So the page
cannot tell you which check failed. In practice it is one of these:
| Cause | What to do |
|---|---|
| cooldown | Fewer than 30 days since your last rename. Wait it out. |
| name taken | Another pubkey already holds that name. Pick a different one. |
| reserved | Names like admin, seed1, n1 are blacklisted. |
| no-op | The new name equals your current name. Nothing to change. |
| not registered | That pubkey has no registry row. Register first. |
| signature | The signature does not match the exact command in step 2. Regenerate and re-sign. |
| expired | More than 5 minutes passed. Regenerate and re-sign. |
Rate limit: one rename request per hour per public key (and five per hour per IP address). A rejected attempt still counts, so check the command carefully before you submit rather than retrying blind.