{
  "name": "ordinal-source-api",
  "protocol": "1Sat Ordinals",
  "endpoints": {
    "GET /v1/tx/:txid": "every output of a transaction",
    "GET /v1/tx/:txid/out/:vout": "one output",
    "GET /v1/outpoint/:txid_:vout": "one output by inscription id",
    "GET /v1/outpoint/:outpoint/content": "inscription body with its content-type",
    "GET /v1/ordinal/:outpoint": "genesis origin and current holder, from either end",
    "GET /v1/ordinal/:outpoint?verify=1": "recompute both from transaction bytes",
    "POST /v1/parse": "parse a rawtx or script without touching the network",
    "GET /v1/fields": "selectable fields",
    "GET /v1/providers": "configured sources",
    "GET /v1/index": "what the local index covers, when one is loaded",
    "GET /v1/index/token/:key": "supply and holders from ordered history",
    "GET /v1/index/address/:address": "token balances for an address",
    "GET /metrics": "Prometheus metrics (?format=json to read by eye)"
  },
  "query": {
    "field": "contentType | content | tick | amount | origin | currentOwner | 1 | 0x0b | ...",
    "encoding": "auto | utf8 | hex | base64 | json | number",
    "raw": "return the selected field as the response body",
    "network": "main | test",
    "provider": "gorillapool | whatsonchain | bitails | junglebus (comma separated)",
    "origin": "add genesis origin and current holder",
    "verify": "recompute that position from chain data and compare",
    "validateTokens": "check token conservation across the transaction",
    "reinscriptions": "find later inscriptions on the same satoshi",
    "depth": "how far back to validate token inputs (1-4)",
    "resolveToken": "fill in a transfer's symbol and decimals from its deploy",
    "tokens": "only outputs carrying a bsv-20 / bsv-21 token",
    "fast": "fetch only the output script instead of the whole transaction",
    "all": "include envelopes after the first",
    "concat": "concatenate multi-push bodies (BTC-style)",
    "inscribed": "only outputs that carry an inscription",
    "asm": "include script ASM"
  }
}