Many Bluesky users want to use a single custom domain like yourcompany.com for multiple accounts. For example, a business might need handles for its CEO, support team, and marketing department. Bluesky’s domain handle system is designed to verify one handle per domain. However, you can configure subdomains so that each user gets a unique handle under the same parent domain. This article explains how to set up DNS records to share one domain across multiple Bluesky handles.
Key Takeaways: Sharing a Domain for Multiple Bluesky Handles
- Subdomain handle format: Each user gets a handle like user.yourdomain.com instead of a flat yourdomain.com handle.
- DNS TXT record per subdomain: Add a separate
_atprotoTXT record for each subdomain to prove ownership. - Bluesky Settings > Handle > I have my own domain: Each user enters their subdomain and the DNS record ID in the same interface.
How Bluesky Domain Handles Work and Why Subdomains Are Required
Bluesky verifies domain handles by checking a DNS TXT record at a specific location. The record must be placed at _atproto.user.yourdomain.com if you want the handle @user.yourdomain.com. The record contains a unique identifier that Bluesky generates when the user starts the setup process.
The system does not allow two different users to claim the same handle. If you try to set @yourdomain.com for two accounts, the second one will fail verification. The only way to share a parent domain is to give each user a distinct subdomain. Each subdomain acts as an independent handle and requires its own DNS verification.
What You Need Before You Start
You must have access to your domain’s DNS management panel. This is usually provided by your domain registrar or hosting provider. You also need the ability to add TXT records for subdomains. Each user must have a Bluesky account and be ready to follow the on-screen steps to generate their verification code.
Steps to Set Up Multiple Subdomain Handles on Bluesky
The process is the same for each user. Repeat these steps for every account that needs a handle under your domain.
- User starts the handle change process
The user goes to Settings > Account > Handle and selects “I have my own domain.” They enter their desired subdomain, for exampleceo.yourcompany.com. Bluesky then shows a unique verification code and the exact DNS record location. - Copy the DNS record details
The user copies the full record name and the TXT value. The record name will look like_atproto.ceo.yourcompany.com. The value is a long string of letters and numbers. Do not close the Bluesky window yet. - Add the TXT record in your DNS panel
Log in to your DNS management panel. Create a new TXT record with the host name_atproto.ceo.yourcompany.comand the value provided by Bluesky. Set the TTL to 300 seconds or the lowest value available. Save the record. - Wait for DNS propagation
DNS changes can take a few minutes to several hours. Use a tool likedig _atproto.ceo.yourcompany.com TXTon a command line to check if the record is visible globally. - User confirms the handle in Bluesky
The user returns to the Bluesky window and clicks “Confirm” or “Verify.” Bluesky checks the DNS record. If the record matches, the handle changes to@ceo.yourcompany.com. - Repeat for each additional user
Each user must generate their own verification code by starting from step 1. Do not reuse the same code for multiple handles. Each subdomain gets its own unique TXT record.
Common Mistakes and Limitations When Sharing a Domain
Two users try to use the same subdomain
If you attempt to set @ceo.yourcompany.com for two different accounts, the second one will fail. Bluesky only allows one handle per subdomain. Give each user a unique subdomain like ceo.yourcompany.com, support.yourcompany.com, and marketing.yourcompany.com.
DNS record not found after adding it
The most common cause is a typo in the record name. Double-check that the host name starts with _atproto. followed by the exact subdomain. Also verify that the TXT value is pasted exactly, with no extra spaces or line breaks. If the record still does not appear, wait 15 minutes and check again with a DNS lookup tool.
User cannot generate a new verification code
Bluesky allows the user to cancel the handle change and start over. If the user closed the window, they can go back to Settings > Account > Handle and select “I have my own domain” again. A new code is generated each time. Delete the old DNS record before adding the new one to avoid confusion.
Domain handle appears but shows “Unverified”
This usually means the DNS record was removed or changed after verification. Keep the TXT record in place as long as you want the handle to remain active. If you delete the record, Bluesky will mark the handle as unverified after its next check.
Single Flat Domain vs Subdomain Handles: Key Differences
| Item | Flat Domain Handle | Subdomain Handle |
|---|---|---|
| Example handle | @yourcompany.com |
@ceo.yourcompany.com |
| Number of accounts allowed | One per domain | Unlimited (one per subdomain) |
| DNS record location | _atproto.yourcompany.com |
_atproto.ceo.yourcompany.com |
| Setup complexity | Single record | Multiple records, one per user |
| User visibility | All users see the same domain | Each user has a unique subdomain |
You can now configure multiple Bluesky accounts under one parent domain using subdomains. Start by having each user generate their verification code from Bluesky Settings > Account > Handle. Then add the corresponding DNS TXT records in your domain management panel. For large teams, consider creating a standard naming convention such as firstname.yourcompany.com to keep handles consistent and easy to manage.