atproto libraries implementation in ocaml
README.md

identity_tool#

AT Protocol identity lookup and verification tool. Resolves handles to DIDs, DIDs to documents, and verifies bidirectional identity bindings.

Usage#

identity_tool [OPTIONS] <IDENTIFIER>

Where <IDENTIFIER> is a handle (e.g., jay.bsky.social) or a DID (e.g., did:plc:z72i7hdynmk6r22z27h6tvur).

Options#

Option Description
-H, --resolve-handle Resolve handle to DID
-d, --resolve-did Resolve DID to document
-v, --verify Verify bidirectional identity (default)
-h, --help Show help message

Examples#

Verify identity (default mode):

dune exec examples/identity_tool/identity_tool.exe -- jay.bsky.social

Resolve a handle to its DID:

dune exec examples/identity_tool/identity_tool.exe -- -H jay.bsky.social

Resolve a DID to its document:

dune exec examples/identity_tool/identity_tool.exe -- -d did:plc:z72i7hdynmk6r22z27h6tvur

Output#

Handle resolution shows the DID:

Handle: jay.bsky.social
DID:    did:plc:z72i7hdynmk6r22z27h6tvur

DID resolution shows the full document:

DID:     did:plc:z72i7hdynmk6r22z27h6tvur
Handle:  at://jay.bsky.social
Key:     zQ3shXjHeiBuRCKmM... (multikey)
Service: AtprotoPersonalDataServer -> https://morel.us-east.host.bsky.network

Verification confirms bidirectional binding:

PASSED
DID:    did:plc:z72i7hdynmk6r22z27h6tvur
Handle: jay.bsky.social
Key:    zQ3shXjHeiBuRCKmM...
PDS:    https://morel.us-east.host.bsky.network