← Back

fund.at.*

Lexicon

fund.at.* is a small family of ATProto lexicons. They let a project steward publish funding metadata — how to support them, what they depend on, and what they watch — directly from their ATProto repo. Any client that speaks ATProto can discover and render these records without a central registry.

Get found on AT.fund

If your domain already has an _atproto TXT record — for handle verification, or because you run an ATProto service — AT.fund can already resolve your DID. Add your fund.at.* records and you're done.

DNS TXT record

_atproto.yourdomain.comdid=did:plc:xxxxxxxxxxxxxxxxxxxx

No DNS record? There's an HTTPS fallback at /.well-known/atproto-did too.

Once AT.fund resolves your DID, it finds your PDS and fetches your fund.at.*records. The setup page handles the ATProto details so you don't have to.

How discovery works

AT.fund starts from the domains and NSIDs it finds in your ATProto repo and resolves them to stewards. Discovery follows the same DNS handle-resolution that ATProto already uses for identity — no new infrastructure required.

hostname example.com
→ DNS _atproto.example.com TXT
→ or HTTPS example.com/.well-known/atproto-did
→ DID did:plc:xxxxxxxxxxxxxxxxxxxx
→ PDS their.pds.host → getRecord / listRecords
→ records fund.at.contribute, fund.at.dependency, fund.at.watch

When a steward hasn't yet published fund.at.* records, AT.fund falls back to a manually curated catalog so well-known projects still appear.

Record schemas

fund.at.contribute

key: literal:self

Your funding page URL — GitHub Sponsors, Open Collective, Patreon, or any page where people can support you. One record per repo, read with getRecord.

url
uri
The canonical funding page URL (e.g. GitHub Sponsors, Open Collective, ko-fi).
createdAt
datetime
When this record was created or last updated.

fund.at.dependency

key: tid

One record per dependency: a DID or hostname for each project your tool builds on. This lets AT.fund surface the full dependency tree so the infrastructure underneath you gets credit too.

uri
string
The dependency identifier: a DID (did:plc:..., did:web:...) or a hostname (example.com).
label
string
Optional human-readable name for this dependency (e.g. 'Bluesky', 'AT Protocol').
createdAt
datetime
When this dependency was declared.

fund.at.watch

key: tid

A watchlist entry: track the funding status of an entity you care about, even if you don't depend on it directly.

uri
string
The watched entity: a DID (did:plc:..., did:web:...) or a hostname (example.com).
createdAt
datetime
When this watch was created.

Ready?

The setup page creates your records for you — step by step, no ATProto expertise required.

Set up your records →

Record keys

fund.at.contribute uses a literal:self key — one record per repo. fund.at.dependency and fund.at.watch use tid keys so you can create multiple records per repo.

These schemas are a work in progress. This page always reflects the current definitions in lexicon/.