Glossary
Bluesky Handle
A Bluesky handle is your username written as a domain name, like yourname.bsky.social or a domain you own, linked to an account ID that never changes.
A Bluesky handle is the username people see and mention on Bluesky, written as a domain name. Bluesky's blog says handles end in bsky.social by default, as in yourname.bsky.social, and that you can set a website you own as your handle instead. The Bluesky team's own account is @bsky.app, and NPR's is @npr.org.
Handles and the AT Protocol
Bluesky is built on the AT Protocol. Its specification describes handles as usernames you can change, in the form of a DNS hostname. Behind every handle sits a DID, a permanent decentralized identifier for the account. The link runs both ways. The account's DID document claims the handle, and the handle resolves to the DID.
A handle can change while the DID stays the same, and Bluesky's blog says tags and mentions with your old handle still point to your account after a change. The blog gives three reasons the protocol uses domains:
- Identity: Bluesky is one app built on the AT Protocol, and the same handle works across all of them.
- Verification: a domain borrows the authority the website already has. A newsroom can use its own domain, and give its journalists subdomains such as
name.newsroom.com. - Portability: if you move to a different server, a domain handle does not have to change.
How to Set Your Own Domain as Your Handle
Bluesky's blog walks through it with a DNS record:
- In the Bluesky app, open the side menu, then Settings, Account and Handle.
- On the "Change my handle" screen, choose I have my own domain. The screen shows the details to add at your domain registrar.
- At your registrar, or at your DNS host if that is a different company, add a TXT record with the domain
_atprotoand the valuedid=followed by your DID. - Wait a couple of minutes, then choose Verify DNS Record. DNS changes can take longer to spread.
For a subdomain such as me.example.com, the record's domain is _atproto.me. Developers can skip DNS and serve the DID as plain text at https://<handle>/.well-known/atproto-did, the HTTPS method in the AT Protocol's handle specification.
Since December 12, 2024, Bluesky keeps your most recent .bsky.social username reserved for you when you switch to a domain, with no expiry.
Example
An illustrative case (the person and the domain are made up): Ana signs up as ana.bsky.social and owns the domain ana.example. She adds the _atproto TXT record, verifies it, and her handle becomes @ana.example. Mentions of @ana.bsky.social from before the change still point to her account.
In Postopus
When you connect Bluesky to Postopus, you type your handle, such as yourname.bsky.social, and choose Continue to Bluesky. You sign in on Bluesky and approve Postopus there.
Sources
Checked on October 27, 2026.
- Bluesky blog, How to verify your Bluesky account (April 28, 2023, updated December 12, 2024): the default
bsky.socialsuffix, the steps for a domain handle, subdomains, the.well-knownoption, old mentions, the reserved username and why the protocol uses domains. - AT Protocol, Handle: handles as changeable usernames in the form of a DNS hostname, linked both ways to a DID, resolved by DNS TXT record or HTTPS.
- AT Protocol, Protocol Overview: permanent DIDs and handles.
Last reviewed: