games.atmosphere.define
A define record is a compact, developer-owned game listing for the AT Protocol. It lets portals discover the game, describe what records a player needs to play it, and list the records the game reads or writes.
What the record does
One games.atmosphere.define record per game, published in the developer's own repo. Keep the same rkey to update it in place. Portals index it by AT URI.
name,tagline,description,url,cover, andmediadescribe the game.publisheris the AT-URI of the repo that owns the record. It must match the record's actual repo.developernames the person or studio, with an optional DID and website.legacyIdslists any old IDs for this game used by other catalogs or tools. Portals use these for deduplication.cataloglinks to matching entries in other AT Protocol game catalogs (such as gamesgamesgamesgames.games or cartridge.dev) without affecting playability.
Required vs optional records
The key distinction is whether a record gates play.
requires[]Hard gates. Every rule must pass before the portal marks a player as ready to play.
uses[]Non-gating records. Stats, perks, cosmetics, inventory, sessions, leaderboards, and interop data. Never gates play.
.verifyAn additional proof attached to a rule or use. Confirms a claim without blocking play on its own.
Rule checks
Rules are small checks over records in a player repo or a trusted authority repo.
recordpasses when the player has any record in the collection.fieldchecks one field on a specific rkey, or scans the collection withrkey: "any".matchespasses when one record satisfies all filters at once.vouchreads a trusted authority DID. Use it for grants, awarded items, and approvals one account issues about another.all,any, andnotcompose smaller rules.
Discovery
Portals discover define records from any publisher via the AT Protocol Jetstream. The server-side index at /api/define/index is seeded at boot and kept current by a live Jetstream subscription. No polling or known-repo list is needed for portals that consume the index.
Developers publish one record in their own repo. Portals will pick it up automatically.
Minimal example
This game requires an rpg.actor sprite to play, and uses a stats record for progress.
{
"$type": "games.atmosphere.define",
"name": "Example Quest",
"url": "https://example.quest",
"publisher": "at://did:plc:developer",
"category": "browser",
"status": "live",
"createdAt": "2026-07-21T00:00:00.000Z",
"requires": [{
"check": "record",
"nsid": "actor.rpg.sprite",
"label": "An rpg.actor sprite",
"acquire": "https://rpg.actor/generator"
}],
"uses": [{
"role": "stats",
"nsid": "example.quest.stats",
"rkey": "self",
"purpose": "Progress and best score"
}]
}
Portal APIs
These endpoints are available for portals and tools.
Evaluator
Unknown rule checks do not pass. Self-vouching fails. Required verify rules must pass. Optional uses without verify are available but unconfirmed.
Schema
The raw lexicon is served as JSON for tools and implementers.