Skip to main content

Relays & verification

A relay is a public window onto protocol data. DFOS runs one at relay.dfos.com — it serves identity chains, public profile documents, and the operation log, read-only, to anyone. No account, no key, no permission needed to read.

Try it:

curl https://relay.dfos.com/.well-known/dfos-relay

That returns the relay's own description — including its own protocol identity, because a relay is an identity too.

What you can fetch:

  • Identity records — any identity's verified state and its full operation log, by DID.
  • Public profile documents — the signed profile content chains of identities that have turned their public profile on.
  • Public posts — the signed content chains (and documents) of publicly readable posts, gated the same way as public profiles.
  • A queryable index/index/v0, a fast way to page through what the relay holds (identities, content) with simple filters. It's a browse convenience — verification still happens against the signed records themselves.
  • The operation log — the append-only feed of signed operations, which is how other relays can mirror the data.

The relay is deliberately dumb: it can't fabricate any of this, because every record is signed by the identity that made it and addressed by its own content hash. Verification happens on your side, with open tools.

Finding the relay

You don't have to hard-code the address. The DFOS API publishes it — a GET /v1/protocol call returns the relay that serves the identity and content chains for the DIDs the API emits, so a tool can discover where to resolve them instead of assuming.

curl https://api.dfos.com/v1/protocol
# {"relayUrl":"https://relay.dfos.com"}

For developers

Everything lives in the open-source repo at github.com/metalabel/dfos:

  • @metalabel/dfos-protocol (npm) — the primitives: create identities, sign and verify identity and content chains, issue and check credentials.
  • @metalabel/dfos-web-relay (npm) — the relay server itself, if you want to run your own.
  • The dfos CLI — a standalone binary for working with the protocol from your terminal: create your own self-custodied identity, publish content, issue credentials, talk to relays (including ours), or run a local relay with dfos serve.

An identity you create with the CLI is fully yours — your keys, on your machine. That's the same protocol DFOS identities live on, which is the point: the product and anything anyone else builds share one verifiable substrate.

What's not here yet

  • Bring-your-own-keys in the product. DFOS-managed identities are signed by DFOS today; taking custody of your own keys for a DFOS account isn't available yet.
  • A relay network. The protocol supports independent relays mirroring each other, and the software is public — but today relay.dfos.com is the one canonical relay.