# SRD Framework Generated: 2026-06-29T18:47Z build bea4f93 — if you are auditing this site, verify this stamp is recent first; cached fetches of older deploys produce false findings. > Multi-system tabletop RPG reference — searchable SRDs, price ledgers, > spell databases, and seeded random-table generators. Built to be equally > usable by humans in a browser and agents over HTTP. Machine-readable API description: https://srd-framework.vercel.app/openapi.json ## Public systems - [The Golden Triangle](https://srd-framework.vercel.app/swn-golden-triangle/): Stars Without Number. Far traders and corsairs work the margins of empires in a frontier sector of gas giant moons and precursor ruins. My SWN fork using personal house rules and setting-specific changes. ## Gated systems (password required) - [Throne and Wheel](https://srd-framework.vercel.app/throne-and-wheel/): Setting Reference & Twelve Warlords Campaign - [Worlds Without Number](https://srd-framework.vercel.app/wwn/): Rulebook Reference - [AD&D 2nd Edition](https://srd-framework.vercel.app/adnd-2e/): Core Rules & Supplements These paths serve a login page to anonymous callers. The gate exists for cost control on LLM-backed features and licensed content, not secrecy. Two agent auth paths, by client capability: Authorization: Bearer (anything with real headers) ?token= on the URL (GET-only, header-incapable fetchers; ?password= and ?pw= also accepted) Browsers may instead POST the form at the gate page (sets a cookie). The password is issued by the site owner; there is no self-serve signup. URL tokens leak into logs — fine at this threat model, rotate if worried. If your client can follow links but NOT construct URLs (common in web-chat fetch tools): each gated system serves an agent manifest at /{system}/llms.txt — once you reach it with the token, every page is listed as a ready-made link that already carries your token. Have the user paste e.g. https://srd-framework.vercel.app/wwn/llms.txt?token={password} and follow links from there. ## Tools - [Economics & Prices](https://srd-framework.vercel.app/throne-and-wheel/economics): Twelve Warlords — Riverlands. Searchable price ledger for the Riverlands: equipment, arms, armour, services, wages, and trade goods, costed against WWN assumptions. Coin-purse affordability, loadout builder, and side-by-side compare. - [Spell Database](https://srd-framework.vercel.app/throne-and-wheel/spells): Twelve Warlords — Magic. The Ferromancer, Wu, and Hieratic spell lists in one searchable place. Filter by tradition, level, save, or tag; search both the liturgical name and the common name. - [Economics Reference](https://srd-framework.vercel.app/ose/economics): Old-School Essentials. Searchable price lists for equipment, weapons, armor, services, wages, and more, drawn from Old-School Essentials. - [Nusantara System Map](https://srd-framework.vercel.app/swn-golden-triangle/nusantara-map): The Golden Triangle. Interactive star map of the Nusantara cluster — systems, routes, and the factions that hold them. - [Treasure Generator](https://srd-framework.vercel.app/wwn/treasure): Worlds Without Number. WWN's Placing Treasures tables as a seeded roller — site value, magic items, trove flavor, and room stocking. Plain copy-paste results; agent API at /api/roll (gated). - [Treasure Generator](https://srd-framework.vercel.app/throne-and-wheel/treasure): Twelve Warlords — Prep. Roll treasure and stock sites for the Riverlands — the WWN Placing Treasures tables with a persistent prep ledger. Seeded: every result is reproducible and citeable. ## API (All URLs below are written as followable markdown links — some harnesses can follow links but cannot synthesize or modify URLs. Placeholders use {curly braces} because angle brackets get eaten by HTML-stripping extractors.) - Try it first, no auth: [https://srd-framework.vercel.app/api/roll/?table=demo/omen&seed=try-me](https://srd-framework.vercel.app/api/roll/?table=demo/omen&seed=try-me) — a public demo table that validates the seeded-roll contract (same seed, same result; structured tree + plain text). - [https://srd-framework.vercel.app/api/roll/?list=1](https://srd-framework.vercel.app/api/roll/?list=1) — discover every random table, its kind, and valid row ids. Requires auth (the real tables are licensed WWN content); unauthenticated callers see the demo tables only. - GET https://srd-framework.vercel.app/api/roll/?table={id}&row={rowId}&seed={s}&n={1-20} — seeded, reproducible rolls (auth required except demo/ tables). - [https://srd-framework.vercel.app/api/echo?test=1](https://srd-framework.vercel.app/api/echo?test=1) — public reflective endpoint: shows what your request looked like on arrival (params, header presence). Use it to tell your own client's stripping apart from server behavior. Full parameter schemas: [https://srd-framework.vercel.app/openapi.json](https://srd-framework.vercel.app/openapi.json) ## Data files (raw, for tools whose tables render client-side) - [https://srd-framework.vercel.app/data/economics.json](https://srd-framework.vercel.app/data/economics.json) — OSE price ledger (public; backs /ose/economics). - [https://srd-framework.vercel.app/data/economics-taw.json](https://srd-framework.vercel.app/data/economics-taw.json) — Riverlands/Twelve Warlords price ledger (public data; the page is gated). - [https://srd-framework.vercel.app/data/glossary-2e.json](https://srd-framework.vercel.app/data/glossary-2e.json) — AD&D 2e glossary terms. - [https://srd-framework.vercel.app/throne-and-wheel/spells.json](https://srd-framework.vercel.app/throne-and-wheel/spells.json) — Twelve Warlords spell database (gated, same auth as the system). ## Conventions - Random results are plain and specific by design — no interpretation is added; that is the caller’s job. - Anything random takes a seed and reports the seed it used, so results are citeable and re-derivable. - Canonical content URLs are flat: /{system}/{slug}/ (one scheme, no nesting). - Canonical API URLs carry a trailing slash (the host 308-redirects the bare form). - Errors are instructions: 4xx responses say what to do next in the body. ## Markdown for agents Every content page has a markdown sibling: append .md to the page path (/{system}/{slug}.md — served as text/plain for maximum client compatibility), or send Accept: text/markdown to the HTML URL and the same representation is served in place. Roughly 10x fewer tokens than HTML. Gated systems require the same auth either way. Content pages link their own .md sibling in the page chrome ("Markdown"), so link-following harnesses never need to build URLs.