Nostr protocol extensions for playing turn-based abstract strategy board games of the chess family: every act of a game — the challenge, the pairing, each move, the verdict, the rating, even a composed puzzle — is a signed, public, relay-distributed event. No proprietary server holds the game: any client can replay a session from public events alone and reach the same board, the same clocks, and the same result.
This repository is the canonical source of the Sashité NIPs, and the place
to discuss them — issues and pull requests welcome. It follows the layout of
nostr-protocol/nips: one standalone,
deployment-neutral markdown document per NIP, under nips/.
Rendered pages: https://sashite.dev/nostr/ · Reference deployment: Sanki by Sashité, with open-source reference implementations of every role the protocol names (client, matchmaker, rater and timestamper bots, timing-relay policy). The suite designates no arbiter: every session names its rule system by digest, the players themselves found and conclude the session, and every verdict is verified under that rule system rather than believed.
The session lifecycle for chess-family games — rule systems, challenges and matchmaking, sessions, plies, conclusions, rematches, challenge policies, moods, and composed puzzles.
| Kind | NIP |
|---|---|
3417 |
Rule System |
3418 |
Open Challenge |
3419 |
Pairing |
3420 |
Direct Challenge |
3422 |
Game Session |
3423 |
Ply |
3425 |
Conclusion |
3440 |
Composition |
3441 |
Validation |
30420 |
Challenge Policy |
30422 |
Mood |
Kept as published for the record; not normative, never reused.
| Kind | NIP | Replaced by |
|---|---|---|
3421 |
Accepted Challenge | the Game Session (3422), which the challenged player publishes to accept |
3424 |
Adjudication Request | the Conclusion (3425), whose own timing is the cutoff |
3430 |
Rematch Offer | a Direct Challenge (3420) carrying rematch_of / concluded_by |
Timing and rating primitives the suite consumes but that are useful to any Nostr application needing a trustworthy timestamp or a signed rating — candidates for upstream submission.
| Kind | NIP |
|---|---|
3410 |
Event Timestamp Attestations |
3426 |
Elo Rating Attestation |
3427 |
Glicko-2 Rating Attestation |
— |
Canonical Timing |
— |
Self-Timed Timing Relay |
registry.json is the machine-readable registry of the
suite's kinds, markers, and shared constants — the single source of truth the
reference implementations are kept in step with.
The suite runs in production on the reference deployment; the documents are drafts in the NIP sense — feedback may still reshape them. French courtesy translations of selected NIPs exist outside this repository; only the English documents here are canonical.
All NIPs in this repository are public domain, like the Nostr NIPs themselves.