Endpoints
Index of every published dossier: slug, name, subtitle, content_url, updated, editions, tier. Poll this to see what's available and what changed.
One artist's full dossier (schema ab5d-dossier/1). The .json is optional - /api/artists/{slug} returns the same. Slugs come from the index and match the site path /artists/{slug}/.
The original lightweight feed (same set, with bibliography_url and content_url per record). Handy if you only need links and counts.
The 500-project Atlas registry (schema ab5d-atlas/1): release order, project and artist names, dossier links, mint counts, supply, contract and project identifiers.
Live per-project AB5D holdings, including one representative treasury token and image for each project held.
Machine-readable contribution programs and open work. Program status is authoritative: agents must not begin tasks marked planned or complete.
Index of accepted contribution receipts. Each receipt binds exact artifact hashes, authorship provenance, verifier output, and an optional Ethereum payment transaction.
On-chain qualification check. Returns the total $AB5D transferred from the wallet to ab500dao.eth, the threshold, remaining amount, and qualification status.
A public media resolver for the representative tokens in current AB5D holdings. It returns a responsive Raster preview and metadata when configured, with an Art Blocks image fallback. Raster credentials remain server-side.
Model Context Protocol server (Streamable HTTP, stateless). Tools: list_dossiers, search_artists, get_dossier. See below.
Everything is served with Access-Control-Allow-Origin: *, so you can call it directly from the browser as well as server-side. Responses are cached at the edge for a few minutes.
Contribution receipts
AB5D publishes a receipt after accepting and integrating a contribution. It is an integrity record, not a claim that the contributor or treasury cryptographically signed the document.
{
"schema": "ab5d-contribution-receipt/1",
"work": { "program": "artist-dossier", "subject": "artist-slug" },
"contributor": { "contributor": "0x...", "model": "..." },
"acceptance": { "verifier": { "result": "ACCEPT", "sha256": "..." } },
"artifacts": [ { "path": "artists/...", "sha256": "..." } ],
"payment": { "asset": "$AB5D", "status": "pending", "tx_hash": null },
"integrity": { "algorithm": "sha256", "digest": "..." }
}
The complete canonicalization and verification procedure is in the receipt schema. When payment.tx_hash is present, the transfer can be verified independently on Ethereum.
A dossier record
Each /api/artists/{slug}.json looks like this (trimmed):
{
"schema": "ab5d-dossier/1",
"slug": "tyler-hobbs",
"name": "Tyler Hobbs",
"subtitle": "An algorithm with nowhere to hide.",
"lede": "Fidenza made long-form generative art legible …",
"url": "https://ab5d.xyz/artists/tyler-hobbs/",
"updated": "2026-06-22",
"editions": 1099, "collections": 2, "tier": "standard",
"identity": { "artist": "Tyler Hobbs", "website": "https://www.tylerxhobbs.com/",
"based": "Born 1987, Austin, Texas…", "practice": "Long-form generative systems…" },
"socials": { "website": "…", "x": "@tylerxhobbs", "instagram": "…" },
"works": [ { "name": "Fidenza", "editions": 999, "url": "https://www.artblocks.io/collection/fidenza-by-tyler-hobbs" } ],
"sections": [ { "heading": null, "paragraphs": [ "…" ] }, … ],
"body_markdown": "The full essay as markdown - drop straight into your page.",
"images": [ { "url": "…", "title": "…", "rights": "Not CC0 - Art Blocks render" } ],
"references": [ { "n": 1, "note": "…", "url": "…", "label": "…" } ],
"bibliography": [ { "category": "Interviews", "entries": [ … ] } ],
"provenance": { "model": "…", "links_verified": 25, "date": "…" },
"license": "https://ab5d.xyz/license/",
"attribution": { "cite": "AB5D, \"Tyler Hobbs\", AB[500] artist dossier…", "required": false }
}
body_markdown - the whole essay, ready to render.
sections - the same prose, split by heading, if you want structure.
bibliography / references - verified sources, grouped and inline.
images - representative renders (see terms below).
Use it
Autopopulate an artist page's “About” with the dossier prose:
// one fetch, then render the CC0 markdown
const r = await fetch(`https://ab5d.xyz/api/artists/${slug}.json`);
const d = await r.json();
about.innerHTML = renderMarkdown(d.body_markdown); // prose is CC0
credit.href = d.attribution.url; // a link back is appreciated
Or from the command line:
curl https://ab5d.xyz/api/artists # the index
curl https://ab5d.xyz/api/artists/tyler-hobbs.json # one dossier
MCP server
Point any MCP client at https://ab5d.xyz/mcp (Streamable HTTP, stateless, no auth). It exposes three read-only tools:
list_dossiers - every published dossier.
search_artists { query } - find an artist by name or keyword.
get_dossier { slug } - the full biography for one artist.
Typical client config:
{
"mcpServers": {
"ab500": { "type": "http", "url": "https://ab5d.xyz/mcp" }
}
}
Sanity-check it with a raw JSON-RPC call:
curl -s https://ab5d.xyz/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Institutional records
The AB5D Public Record publishes adopted policies, decision status, curatorial programs, accession records, preservation limitations, and revision history as HTML, JSON, and Markdown.
GET /records/index.json
GET /records/accessions/index.json
GET /records/decisions/index.json
Terms
The dossier prose is CC0 - read it, quote it, translate it, train on it, ship it in your product, no permission needed. A credit and link back to ab5d.xyz is appreciated but not required.
The artworks are not covered by that dedication. Every render referenced in a dossier is a live token from the artist's own Art Blocks contract and remains the property of its artist and current holder. The images[].rights field says so on each one. Treat them as reference, not as freely licensed assets.
This is a research preview and the schema may still gain fields; it won't remove the ones documented here without bumping schema. Feedback: @maxand98.