Skip to content

Interface directory

26 interface contracts and 41 specifications across 40 repositories. Every link points at an exact commit, so what you read is what that repository published rather than whatever its branch happens to hold today.

REST APIs

RepositoryContractFormLifecycle
bitcoin-indexerdocs/api/ordinals-openapi.jsonOpenAPI 3.1experimental
bitcoin-indexerdocs/api/runes-openapi.jsonOpenAPI 3.1experimental
docs-corepublic/openapi/core-public-read.jsonOpenAPI 3.1experimental
index-patinasrc/openapi.tsOpenAPI 3.1stable
index-tandemsite/src/data/openapi.jsonOpenAPI 3.1experimental
ord-dogecoinopenapi.yamlOpenAPI 3.1experimental
ordexspec/openapi.jsonOpenAPI 3.1experimental
stampchain.iostatic/swagger/openapi.ymlOpenAPI 3.1experimental

Event and WebSocket interfaces

No repository currently declares a contract of this kind. When one does, it appears here automatically.

Data models and payload schemas

Command line interfaces

RepositoryContractFormLifecycle
witness-circlessrc/cli.tsCLI referenceexperimental

SDKs

RepositoryContractFormLifecycle
witness-circlessrc/index.tsSDKexperimental

Protocol specifications

Normative specification documents. These are the authority for protocol rules; the Protocol Atlas summarises and compares them but never replaces them.

Public status endpoints

Endpoints repositories declare as safe to poll. Read live status for what the fields mean.

Conventions that hold across the estate

Indexer route prefixes
An indexer serves under its repository name with the index- prefix removed. The Patina indexer serves under /patina/.
The contract wins
Where a contract and its prose documentation disagree, the contract is correct and the prose is a bug. Report it against the owning repository.
Availability states are part of the interface
Responses distinguish unavailable from empty and unknown from zero. Collapsing those into "no results" corrupts anything computed downstream.
No endpoint asks for key material
Nothing in this estate asks for a seed phrase or a private key. Signing happens in your wallet.