All services
Bluesky Verification
How keytrace verifies Bluesky identity claims
Claim URI Format
https://bsky.app/profile/alice.bsky.social Pattern: ^https:\/\/bsky\.app\/profile\/([^/]+)(?:\/post\/([a-zA-Z0-9]+))?\/?$
Create Your Proof
- 1Option 1: Add to your profile description at bsky.app → Profile → Edit Profile
- 2Option 2: Create a post containing the verification content
- 3Copy the URL of your profile or post
- 4Paste the URL below
Proof Text
You need to include this text in your Bluesky proof location:
I'm linking my keytrace.dev: did:plc:example123456789012345678Where to put it: Add to your Bluesky profile bio, or create a post containing it
Verification Steps
- 1
Fetch proof data
Using the
httpfetcherhttps://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=alice.bsky.social - 2
Search for DID in response
The runner checks the following locations for your DID:
descriptioncontainsCheck if description contains the DID
- 3
Attestation
If the DID is found, keytrace signs an attestation linking your identity to your ATProto DID and stores it in your repo.
Try Verification
Test verification with your own claim URI and DID: