Keytrace has just launched. Read more on the blog.

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

  1. 1Option 1: Add to your profile description at bsky.appProfileEdit Profile
  2. 2Option 2: Create a post containing the verification content
  3. 3Copy the URL of your profile or post
  4. 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:example123456789012345678

Where to put it: Add to your Bluesky profile bio, or create a post containing it

Verification Steps

  1. 1

    Fetch proof data

    Using the http fetcher

    https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=alice.bsky.social
  2. 2

    Search for DID in response

    The runner checks the following locations for your DID:

    • descriptioncontains

      Check if description contains the DID

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