com.imlunahey.leaderboard.score
A signed leaderboard score. Users play locally, call /api/sign-score on the site which validates the run and returns a server HMAC, then createRecord on their own PDS. Records without a valid server signature are ignored when rendering the leaderboard.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | leaderboard.imlunahey.com |
| Indexed |
Checks
Validmissing-primary-descriptiondefs.mainThe record has no description.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"key": "tid",
"record": {
"properties": {
"achievedAt": {
"description": "Timestamp assigned by the signing server, part of the HMAC payload.",
"format": "datetime",
"type": "string"
},
"did": {
"description": "The author's DID, copied into the record so the server HMAC binds the score to the player. Must match the record repo's DID when displayed.",
"format": "did",
"type": "string"
},
"game": {
"description": "The game identifier. Includes the variant for games with multiple boards (e.g. typing-30).",
"knownValues": [
"snake",
"wordle",
"typing-15",
"typing-30",
"typing-60"
],
"maxLength": 64,
"type": "string"
},
"replay": {
"description": "Optional compact replay data (input log, guess sequence, typed text hash). Not required; when present, the signing server may use it for additional validation before signing.",
"maxLength": 4000,
"type": "string"
},
"score": {
"description": "The numeric score. Meaning depends on the game — for snake, food eaten; for typing, wpm; for wordle, guesses used (lower is better).",
"minimum": 0,
"type": "integer"
},
"sig": {
"description": "Base64url-encoded HMAC-SHA256 of the canonical {game, score, did, achievedAt} payload, signed with a server secret. The leaderboard renderer verifies this and drops records that don't match.",
"maxLength": 128,
"type": "string"
},
"subject": {
"description": "AT-URI of the leaderboard marker record this score is claiming against.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"game",
"score",
"subject",
"did",
"achievedAt",
"sig"
],
"type": "object"
},
"type": "record"
}
},
"description": "A signed leaderboard score. Users play locally, call /api/sign-score on the site which validates the run and returns a server HMAC, then createRecord on their own PDS. Records without a valid server signature are ignored when rendering the leaderboard.",
"id": "com.imlunahey.leaderboard.score",
"lexicon": 1
}