# Machine surfaces

The files blockspace.wiki publishes for agents and crawlers: sitemap, robots, llms.txt and llms-full.txt, Markdown per page, the Atom feed, the search index, blockspace.json, the live figures and the JSON-LD types. Plus what is planned for the other sites.

URL: https://blockspace.wiki/data/machine-surfaces/

blockspace.wiki is written for people and for programs. Every page is built from one set of Markdown files, and the same build writes the [machine surfaces](https://blockspace.wiki/glossary/machine-surfaces/), the files an agent or crawler reads instead of the HTML. Nothing on them is written by hand. A build fails, and writes nothing, on a page without sources, a dead internal link, an undefined glossary term or a live figure that does not exist; so the surfaces never point at a page that is not there.

The addresses below are the wiki's own, under `https://blockspace.wiki`.

## The surfaces

| address | what it is |
|---|---|
| `/robots.txt` | allows every crawler and agent (`User-agent: *`, `Allow: /`) and names the sitemap |
| `/sitemap.xml` | every page, with `lastmod` from the page's `updated` date |
| `/llms.txt` | a short Markdown index: a one-paragraph description, then each section with a link to every page's Markdown and its one-line summary |
| `/llms-full.txt` | the whole wiki in one Markdown file, every page in order, with the build time and page count at the top |
| `/<page>/index.md` | each page as Markdown, with live figures filled in and glossary terms as absolute links. Every HTML page links its own as "This page as Markdown". |
| `/feed.xml` | an Atom feed of the 60 most recently updated pages |
| `/search-index.json` | the index the search page uses (below) |
| `/blockspace.json` and `/.well-known/blockspace.json` | the same file: what the site is, its surfaces and the as of of its live figures (below) |
| `/state/live.json` | the live figures the pages show, each group with its `as_of` |

## search-index.json

One JSON array, one object per page, with short keys:

| key | holds |
|---|---|
| `t` | title |
| `u` | the page's path |
| `s` | summary |
| `k` | the section's name |
| `a` | aliases (glossary terms) |
| `h` | the page's `##` and `###` headings, joined by " · " |
| `x` | the first 80 words of the body, as plain text |

## blockspace.json

The site's self-description. As built at 2026-10-20 09:43 UTC, trimmed:

```json
{
  "name": "blockspace.wiki",
  "description": "Everything about Bitcoin blockspace, written down.",
  "publisher": {"name": "Blockspace Holdings", "url": "https://blockspace.holdings"},
  "url": "https://blockspace.wiki/",
  "built": "2026-10-20T09:43:41Z",
  "pages": 193,
  "sections": {"concepts": 21, "projects": 18, "glossary": 139},
  "surfaces": {
    "sitemap": "https://blockspace.wiki/sitemap.xml",
    "robots": "https://blockspace.wiki/robots.txt",
    "llms": "https://blockspace.wiki/llms.txt",
    "llms_full": "https://blockspace.wiki/llms-full.txt",
    "feed": "https://blockspace.wiki/feed.xml",
    "search_index": "https://blockspace.wiki/search-index.json",
    "page_markdown": "https://blockspace.wiki/<page>/index.md",
    "glossary": "https://blockspace.wiki/glossary/",
    "live_figures": "https://blockspace.wiki/state/live.json"
  },
  "live_as_of": {"books": "2026-10-19T20:17:25Z", "ord": "2026-10-20T09:22:01Z", "…": "…"},
  "rules": ["Every page cites its sources.", "Theory is labelled as theory.",
            "Null is never zero.", "Live figures carry their as of."]
}
```

The page and section counts grow as pages are added; read the file for the current ones.

## state/live.json

The figures behind every `as of` on the wiki. They are refreshed hourly, at 17 minutes past the hour UTC, from block.space's API, blockspace.to's ord `/status`, the node's relay policy and the Degent collection list. A source that fails keeps its last reading and its own `as_of`, so a stale figure says how old it is. The groups and their keys:

| group | keys |
|---|---|
| `books` | `a_bytes`, `b_bytes`, `c_bytes` and their shares, `height`, `ops`, `tokens`, `protocols`, `blocks_touched`, `range_bytes` |
| `census` | `height`, `blocks`, `chain_bytes`, `chain_vbytes`, `chain_txs`, `chain_fees` |
| `frontier` | `census`, `claims`, `books`, `height`, `tip` |
| `holders` | `height`, `population` |
| `ord` | `height`, `inscriptions`, `blessed`, `cursed`, `runes`, `lost_sats` |
| `relay` | `subversion`, `fullrbf`, `minrelaytxfee_sat_vb`, `incrementalrelayfee_sat_vb`, `maxmempool_mb`, `height` |
| `degent` | `inscribed`, `supply` |
| `protocols` | one object per protocol family: `a_bytes`, `c_bytes`, `fees`, `ops`, `tokens`, `share`, `of_books`, `first_height`, `last_height` |

Every group has `as_of`. For example, on the latest reading (as of block 972,315, 2026-10-20 12:10:25 UTC) the books were written to block 972,299 and the chain tip was block 972,320.

## JSON-LD

Each HTML page carries schema.org JSON-LD:

| on | types |
|---|---|
| every page | `BreadcrumbList` |
| the home page | `Organization` (Blockspace Holdings, with `sameAs` block.space, blockspacelabs.com and the BLOCKdotSPACE GitHub organisation) and `WebSite` with a `SearchAction` (`/search/?q={query}`) |
| concept, protocol, basics, methodology, data, research and project pages | `Article`, published and authored by Blockspace Holdings, with `dateModified` |
| a glossary term | `DefinedTerm`, in the set `/glossary/` |
| the glossary index | `DefinedTermSet` with every term |
| the FAQ page, each answer page, and project pages with questions | `FAQPage` |

## On the other sites: planned

For every other Blockspace Holdings property, the same surfaces are planned but not yet built as of 2026-10-20: `robots.txt`, `sitemap.xml`, `llms.txt` and `llms-full.txt`; JSON-LD (Organization, WebSite, FAQPage, DefinedTermSet, Article and Dataset); an Atom feed; `/.well-known/blockspace.json`; and, for the data sites, the API in [the one envelope](/glossary/the-one-envelope/) with an OpenAPI spec. Also planned are `aao.json` and `group.json` on every property, in the FlashyOS mesh format, so that an agent can crawl from any one site to all of them (the [spiderweb](https://blockspace.wiki/glossary/spiderweb/)), and a daily check from outside that every declared surface answers 200.

What exists elsewhere today, as of 2026-10-20:

- block.space serves `/robots.txt` (`User-agent: *`, `Allow: /`) and its JSON API ([the block.space API](/data/block-space-api/)), with the ranking boards already in the one envelope.
- The Minute API under block.space publishes an OpenAPI spec at `https://block.space/minute/api/openapi.json` and an `llms.txt` at `https://block.space/minute/api/llms.txt`.
- blockspace.news publishes an Atom feed and daily JSON snapshots, and blockspacelabs.com a facts.json; see [the other sites' data](/data/other-sites-data/).

Sources:

- Blockspace Holdings records
- blockspace.wiki README · https://blockspace.wiki
- block.space live pages (/, /rankings, /leaderboard, /largest-inscriptions, /heaviest-tokens, /collections, /sync) · https://block.space

Live figures: frontier as of block 972,315, 2026-10-20 12:10:25 UTC

Updated: 2026-10-20
