{
  "$schema": "https://docs.bitcoinuniverse.io/schemas/ecosystem-index.schema.json",
  "generator": "docs.bitcoinuniverse.io",
  "description": "Machine-readable index of the Bitcoin Universe public documentation estate. Each project owns its own documentation site; this index points at those sites and records the capability data behind the portal.",
  "provenance": {
    "capabilitySource": {
      "repository": "bitcoinuniverseio/core",
      "sourcePath": "backend/packages/ecosystem-contracts/lib/protocols.js",
      "commit": "15dd03b5986a0a7ceba2b1a1ed30f3888ae4712c",
      "registryCommit": "822a171da78312128e64c8156f0c6af46fb52b3b",
      "registryCommittedAt": "2026-08-31T08:40:37Z"
    }
  },
  "chains": [
    {
      "id": "bitcoin",
      "name": "Bitcoin",
      "ticker": "BTC",
      "networks": [
        "mainnet",
        "testnet4",
        "signet",
        "regtest"
      ],
      "blockTargetMinutes": 10,
      "portalUrl": "https://docs.bitcoinuniverse.io/chains/#bitcoin"
    },
    {
      "id": "dogecoin",
      "name": "Dogecoin",
      "ticker": "DOGE",
      "networks": [
        "mainnet",
        "testnet"
      ],
      "blockTargetMinutes": 1,
      "portalUrl": "https://docs.bitcoinuniverse.io/chains/#dogecoin"
    },
    {
      "id": "zcash",
      "name": "Zcash",
      "ticker": "ZEC",
      "networks": [
        "mainnet",
        "testnet"
      ],
      "blockTargetMinutes": 1.25,
      "portalUrl": "https://docs.bitcoinuniverse.io/chains/#zcash"
    }
  ],
  "products": [
    {
      "id": "core",
      "name": "Core",
      "tagline": "Explore the chain, hold a portfolio, and trade digital artifacts in one place.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector",
        "app-developer"
      ],
      "documentationRepository": "bitcoinuniverseio/docs-core",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-core/",
      "sourceRepository": "bitcoinuniverseio/core",
      "sourceVisibility": "private",
      "liveUrl": "https://bitcoinuniverse.io",
      "statusEndpoints": [
        "https://api.bitcoinuniverse.io/health",
        "https://api.bitcoinuniverse.io/indexer-health"
      ],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/core/",
      "implementedProtocols": [
        {
          "id": "ordinals",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "brc20",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "settle"
          ]
        },
        {
          "id": "runes",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "runes_native",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "stamps",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "src20",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "src101",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "atomicals",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "arc20",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "atomicals_nft",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "realms",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "subrealms",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "avm",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "alkanes",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "mezcal",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "tap",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "tap_doge",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "dmt",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "bitmap",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "unat",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "names",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "block20",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "dust20",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "op_return",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "op_names",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "op_inscriptions",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "unlist",
            "buy",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "op_drop",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "drops",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "doginals",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "drc20",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "update-listing",
            "unlist",
            "buy",
            "make-offer",
            "accept-offer",
            "cancel-offer",
            "settle",
            "reconcile"
          ]
        },
        {
          "id": "cat20",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "cat721",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "rare_sats",
          "actions": [
            "view",
            "view-collection",
            "view-activity"
          ]
        },
        {
          "id": "ordex",
          "actions": [
            "view",
            "view-collection",
            "list"
          ]
        },
        {
          "id": "chainbloom",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        },
        {
          "id": "zerdinals",
          "actions": [
            "read",
            "explore"
          ]
        },
        {
          "id": "zrunes",
          "actions": [
            "read",
            "explore"
          ]
        },
        {
          "id": "bitcoin",
          "actions": [
            "view",
            "discover",
            "view-collection",
            "view-activity",
            "view-transaction"
          ]
        }
      ]
    },
    {
      "id": "wallet",
      "name": "Wallet",
      "tagline": "Self-custody for Bitcoin digital artifacts, with approvals you can actually read.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector"
      ],
      "documentationRepository": "bitcoinuniverseio/docs-wallet",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-wallet/",
      "sourceRepository": "bitcoinuniverseio/wallet",
      "sourceVisibility": "private",
      "liveUrl": null,
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/wallet/",
      "implementedProtocols": [
        {
          "id": "ordinals",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "brc20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "runes",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "runes_native",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "stamps",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "src20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "src101",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "atomicals",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "arc20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "atomicals_nft",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "realms",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "subrealms",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "avm",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "alkanes",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "mezcal",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "tap",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "tap_doge",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "dmt",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "bitmap",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "unat",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "names",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "block20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "dust20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "op_return",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "op_names",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "op_inscriptions",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "op_drop",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "drops",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "doginals",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "drc20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "cat20",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "cat721",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "rare_sats",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "ordex",
          "actions": [
            "view",
            "send",
            "receive"
          ]
        },
        {
          "id": "chainbloom",
          "actions": [
            "view",
            "receive"
          ]
        },
        {
          "id": "bitcoin",
          "actions": [
            "view",
            "send",
            "receive",
            "split",
            "combine"
          ]
        }
      ]
    },
    {
      "id": "inscribe",
      "name": "Inscribe",
      "tagline": "Create on Bitcoin: files, text, tokens, and collections, with the cost shown before you commit.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector",
        "app-developer"
      ],
      "documentationRepository": "bitcoinuniverseio/docs-inscribe",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-inscribe/",
      "sourceRepository": "bitcoinuniverseio/inscribe",
      "sourceVisibility": "private",
      "liveUrl": "https://inscribe.bitcoinuniverse.io",
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/inscribe/",
      "implementedProtocols": [
        {
          "id": "ordinals",
          "actions": [
            "inscribe",
            "transfer"
          ]
        },
        {
          "id": "brc20",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "runes",
          "actions": [
            "etch",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "stamps",
          "actions": [
            "inscribe",
            "transfer"
          ]
        },
        {
          "id": "src20",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "src101",
          "actions": [
            "mint",
            "transfer"
          ]
        },
        {
          "id": "atomicals",
          "actions": [
            "mint",
            "transfer"
          ]
        },
        {
          "id": "arc20",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "atomicals_nft",
          "actions": [
            "mint",
            "transfer"
          ]
        },
        {
          "id": "realms",
          "actions": [
            "mint",
            "transfer"
          ]
        },
        {
          "id": "subrealms",
          "actions": [
            "mint",
            "transfer"
          ]
        },
        {
          "id": "avm",
          "actions": [
            "deploy"
          ]
        },
        {
          "id": "alkanes",
          "actions": [
            "mint"
          ]
        },
        {
          "id": "mezcal",
          "actions": [
            "etch",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "tap",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "tap_doge",
          "actions": [
            "mint"
          ]
        },
        {
          "id": "bitmap",
          "actions": [
            "transfer"
          ]
        },
        {
          "id": "unat",
          "actions": [
            "transfer"
          ]
        },
        {
          "id": "block20",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "dust20",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "op_return",
          "actions": [
            "deploy",
            "mint",
            "inscribe",
            "transfer"
          ]
        },
        {
          "id": "op_drop",
          "actions": [
            "deploy",
            "mint",
            "transfer"
          ]
        },
        {
          "id": "drops",
          "actions": [
            "inscribe",
            "transfer"
          ]
        },
        {
          "id": "doginals",
          "actions": [
            "inscribe"
          ]
        },
        {
          "id": "drc20",
          "actions": [
            "mint"
          ]
        },
        {
          "id": "cat20",
          "actions": [
            "mint"
          ]
        },
        {
          "id": "chainbloom",
          "actions": [
            "inscribe"
          ]
        }
      ]
    },
    {
      "id": "stampdex",
      "name": "StampDEX",
      "tagline": "A trading venue for Bitcoin Stamps and SRC-20.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector",
        "app-developer"
      ],
      "documentationRepository": "bitcoinuniverseio/docs-stampdex",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-stampdex/",
      "sourceRepository": "bitcoinuniverseio/stampdex",
      "sourceVisibility": "private",
      "liveUrl": "https://stampdex.fun",
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/stampdex/",
      "implementedProtocols": [
        {
          "id": "stamps",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "unlist",
            "buy"
          ]
        },
        {
          "id": "src20",
          "actions": [
            "view",
            "view-collection",
            "view-activity",
            "list",
            "unlist",
            "buy",
            "cancel-offer",
            "settle"
          ]
        }
      ]
    },
    {
      "id": "zerdinals-and-zrunes",
      "name": "Zerdinals and Z-Runes",
      "tagline": "Digital artifacts and fungible tokens native to Zcash.",
      "chains": [
        "zcash"
      ],
      "audiences": [
        "user",
        "collector",
        "app-developer",
        "protocol-implementer"
      ],
      "documentationRepository": "bitcoinuniverseio/docs-zerdinals-and-zrunes",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-zerdinals-and-zrunes/",
      "sourceRepository": "bitcoinuniverseio/zerdinals-and-zrunes",
      "sourceVisibility": "private",
      "liveUrl": "https://zrunes.io",
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/zerdinals-and-zrunes/",
      "implementedProtocols": []
    },
    {
      "id": "forked-felines",
      "name": "Forked Felines",
      "tagline": "A collection held whole on Bitcoin.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector"
      ],
      "documentationRepository": "bitcoinuniverseio/forked-felines-docs",
      "documentationSite": "https://docs.forkedfelines.art",
      "sourceRepository": "bitcoinuniverseio/forked-felines",
      "sourceVisibility": "private",
      "liveUrl": "https://forkedfelines.art",
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/forked-felines/",
      "implementedProtocols": []
    },
    {
      "id": "drops",
      "name": "Drops",
      "tagline": "Permanent media and agreements on an original carrier.",
      "chains": [
        "bitcoin"
      ],
      "audiences": [
        "user",
        "collector",
        "protocol-implementer"
      ],
      "documentationRepository": "bitcoinuniverseio/drops-protocol-docs",
      "documentationSite": "https://bitcoinuniverseio.github.io/drops-protocol-docs/",
      "sourceRepository": "bitcoinuniverseio/index-drops-and-opdrop",
      "sourceVisibility": "private",
      "liveUrl": null,
      "statusEndpoints": [],
      "portalUrl": "https://docs.bitcoinuniverse.io/products/drops/",
      "implementedProtocols": []
    }
  ],
  "protocols": [
    {
      "id": "ordinals",
      "name": "Ordinals",
      "chain": "bitcoin",
      "carrier": "Witness-data inscription envelope",
      "family": "inscription",
      "purpose": "Assigns a stable ordinal number to every satoshi and attaches content to individual satoshis, producing digital artifacts that move as ordinary UTXOs.",
      "operations": [
        "inscribe",
        "transfer"
      ],
      "aliases": [
        "ordinal",
        "inscriptions",
        "inscription"
      ],
      "origin": {
        "kind": "external",
        "creator": "Casey Rodarmor",
        "year": 2023,
        "note": "Ordinal theory numbers individual satoshis and lets arbitrary content be inscribed onto them."
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-ordinals and a Universe-operated ord server",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/ordinals/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Ordinals has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires at least one confirmation by default; operators may configure 1-100."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "Authoritative Esplora evidence drives deterministic dropped, replacement, conflict, and reorg reconciliation for generic orders."
      },
      "indexer": {
        "primary": "Configured Ord server output and inscription views",
        "fallbacks": [
          "Configured mempool/Esplora providers for UTXO and settlement reads"
        ],
        "mutationGate": "Every mutation requires one confirmed, unspent, single-inscription output with no co-located Runes; Ord and Bitcoin value/outpoint/owner state must agree."
      }
    },
    {
      "id": "brc20",
      "name": "BRC-20",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription carrying a JSON payload",
      "family": "inscription",
      "purpose": "Fungible tokens defined by inscribed JSON operations, where balances are computed by indexers rather than enforced by consensus.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "brc-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "domo",
        "year": 2023,
        "note": "An experiment in fungible tokens expressed entirely as inscribed JSON, indexed off-chain."
      },
      "specificationRepository": "bitcoinuniverseio/brc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/brc-20/",
      "universeImplementation": "bitcoinuniverseio/index-brc20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/brc20/",
      "marketplace": {
        "availability": "enabled",
        "mode": "external-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "settle"
        ],
        "unsupportedActions": [
          {
            "action": "make-offer",
            "reason": "BRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "BRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "BRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "BRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "BRC-20 has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "Confirmation policy is delegated to UniSat; Universe records pending receipts for retries."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Universe has no local UniSat order rollback state."
      },
      "indexer": {
        "primary": "UniSat Open API",
        "fallbacks": [],
        "mutationGate": "Provider-owned; Universe does not compare UniSat and local Bitcoin/indexer tips."
      }
    },
    {
      "id": "runes",
      "name": "Runes",
      "chain": "bitcoin",
      "carrier": "OP_RETURN runestone (OP_RETURN OP_13)",
      "family": "op-return",
      "purpose": "UTXO-native fungible tokens whose balances live in transaction outputs and move by ordinary spending, with etching, minting, and edicts encoded in a single OP_RETURN.",
      "operations": [
        "etch",
        "mint",
        "transfer"
      ],
      "aliases": [
        "rune"
      ],
      "origin": {
        "kind": "external",
        "creator": "Casey Rodarmor",
        "year": 2024,
        "note": "Activated at block 840,000. Designed to be UTXO-native and to avoid the junk-UTXO problem of inscription-based tokens."
      },
      "specificationRepository": "bitcoinuniverseio/runes",
      "documentationSite": "https://bitcoinuniverseio.github.io/runes/",
      "universeImplementation": "bitcoinuniverseio/index-runes and a Universe-operated ord rune index",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/runes/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "update-listing",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "unlist",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "buy",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "make-offer",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "accept-offer",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "cancel-offer",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "sell",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "settle",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          },
          {
            "action": "reconcile",
            "reason": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported mutation reaches confirmation or settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read state follows the authority; no executable order state exists to roll back."
      },
      "indexer": {
        "primary": "Universe Ord Rune index and Universe order book",
        "fallbacks": [
          "Configured mempool/Esplora providers for UTXO and settlement reads"
        ],
        "mutationGate": "Rune mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven on Universe infrastructure."
      }
    },
    {
      "id": "runes_native",
      "name": "Runes (Native)",
      "chain": "bitcoin",
      "carrier": "OP_RETURN runestone",
      "family": "op-return",
      "purpose": "The first-party read path for Runes state, separated in the product so that Rune data served from Universe infrastructure is distinguishable from any other source.",
      "operations": [],
      "aliases": [
        "runes-native",
        "native-runes",
        "runes-(native)"
      ],
      "origin": {
        "kind": "universe-view",
        "note": "Not a separate protocol. A Universe read path that serves Rune balances directly from Universe infrastructure."
      },
      "specificationRepository": "bitcoinuniverseio/runes",
      "documentationSite": "https://bitcoinuniverseio.github.io/runes/",
      "universeImplementation": "bitcoinuniverseio/index-runes",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/runes_native/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "update-listing",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "unlist",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "buy",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "make-offer",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "accept-offer",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "cancel-offer",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "sell",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "settle",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "reconcile",
            "reason": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported mutation reaches confirmation or settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read state follows the authority; no executable order state exists to roll back."
      },
      "indexer": {
        "primary": "Universe Ord Rune index and Universe order book",
        "fallbacks": [
          "Configured mempool/Esplora providers for UTXO and settlement reads"
        ],
        "mutationGate": "Runes Native mutations remain read-only until complete Rune outpoint inventory, cardinal-input safety, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
      }
    },
    {
      "id": "stamps",
      "name": "Bitcoin Stamps",
      "chain": "bitcoin",
      "carrier": "Bare multisig and OP_RETURN outputs carrying encoded data",
      "family": "utxo-data",
      "purpose": "Immutable on-chain images stored in unprunable transaction outputs, indexed through the Counterparty data layer.",
      "operations": [
        "stamp",
        "transfer"
      ],
      "aliases": [
        "stamp",
        "btc-stamps"
      ],
      "origin": {
        "kind": "external",
        "creator": "Mike In Space",
        "year": 2023,
        "note": "Stores image data in transaction outputs that cannot be pruned, aiming for permanence stronger than witness data."
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-stamps and bitcoinuniverseio/btc_stamps",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/stamps/",
      "marketplace": {
        "availability": "enabled",
        "mode": "external-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "unlist",
          "buy"
        ],
        "unsupportedActions": [
          {
            "action": "update-listing",
            "reason": "Bitcoin Stamps listings must be cancelled and relisted; no atomic listing update is implemented."
          },
          {
            "action": "make-offer",
            "reason": "Bitcoin Stamps has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "Bitcoin Stamps has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "Bitcoin Stamps has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "Bitcoin Stamps has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "settle",
            "reason": "Bitcoin Stamps has no executable settle authority on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "Bitcoin Stamps has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "Confirmation policy is delegated to StampDEX/Counterparty."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Universe relies on StampDEX/Counterparty state and has no local rollback worker."
      },
      "indexer": {
        "primary": "StampDEX and Stampchain",
        "fallbacks": [
          "OpenStamp for reference metadata"
        ],
        "mutationGate": "Universe allowlists and validates the exact proxy route/body; StampDEX/Counterparty validates dispenser state. Universe does not compare provider and Bitcoin tips."
      }
    },
    {
      "id": "src20",
      "name": "SRC-20",
      "chain": "bitcoin",
      "carrier": "Stamps data outputs carrying a JSON payload",
      "family": "utxo-data",
      "purpose": "Fungible tokens whose operations are stored in unprunable Stamps outputs and whose balances are computed by Stamps indexers.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "src-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Bitcoin Stamps community",
        "year": 2023,
        "note": "A fungible-token layer built on the Stamps data-carrier model rather than on inscriptions."
      },
      "specificationRepository": "bitcoinuniverseio/src-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/src-20/",
      "universeImplementation": "bitcoinuniverseio/index-stamps",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/src20/",
      "marketplace": {
        "availability": "enabled",
        "mode": "external-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "unlist",
          "buy",
          "cancel-offer",
          "settle"
        ],
        "unsupportedActions": [
          {
            "action": "update-listing",
            "reason": "SRC-20 listings must be cancelled and relisted; no atomic listing update is implemented."
          },
          {
            "action": "make-offer",
            "reason": "SRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "SRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "SRC-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "SRC-20 has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "Confirmation policy is delegated to the StampDEX fill workflow."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Universe retains broadcast receipts but delegates chain reconciliation to StampDEX."
      },
      "indexer": {
        "primary": "StampDEX",
        "fallbacks": [
          "Stampchain activity",
          "OpenStamp mint/deploy reference data"
        ],
        "mutationGate": "Universe allowlists and validates the exact proxy route/body/challenge headers; StampDEX rechecks indexed collateral before fill. Universe does not compare provider and Bitcoin tips."
      }
    },
    {
      "id": "src101",
      "name": "SRC-101",
      "chain": "bitcoin",
      "carrier": "Stamps data outputs carrying a JSON payload",
      "family": "utxo-data",
      "purpose": "On-chain names recorded through the Stamps data carrier, with ownership tracked by Stamps indexers.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "src-101"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Bitcoin Stamps community",
        "year": 2024,
        "note": "Adds a naming layer to the Stamps data model."
      },
      "specificationRepository": "bitcoinuniverseio/src-101",
      "documentationSite": "https://bitcoinuniverseio.github.io/src-101/",
      "universeImplementation": "bitcoinuniverseio/index-stamps",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/src101/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "atomicals",
      "name": "Atomicals",
      "chain": "bitcoin",
      "carrier": "Witness-data envelope carrying CBOR payloads",
      "family": "inscription",
      "purpose": "Digital objects minted through commit and reveal, covering non-fungible items, realms, containers, and the data model that ARC-20 builds on.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "atomical"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2023,
        "note": "A general digital-object protocol using commit and reveal transactions."
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": "bitcoinuniverseio/index-atomicals",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/atomicals/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "arc20",
      "name": "ARC-20",
      "chain": "bitcoin",
      "carrier": "Atomicals envelope with satoshi-denominated balances",
      "family": "colored-sats",
      "purpose": "Fungible tokens where one token is exactly one satoshi, so balances move as coloured sats and splitting follows output ordering rules.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "arc-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2023,
        "note": "Tokens are satoshis. One token is one satoshi, so token supply is real bitcoin."
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": "bitcoinuniverseio/index-atomicals",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/arc20/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "ARC-20 has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires at least one confirmation by default; operators may configure 1-100."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The ARC-20 journal retains signed listing proof and converges sold rows through authoritative outspend reconciliation."
      },
      "indexer": {
        "primary": "Configured Atomicals ElectrumX/Atomicals proxy",
        "fallbacks": [],
        "mutationGate": "Listing and buyer-funding mutations fail closed on indexer transport, schema, identity, ticker, amount, or ownership mismatch."
      }
    },
    {
      "id": "atomicals_nft",
      "name": "Atomicals NFTs",
      "chain": "bitcoin",
      "carrier": "Atomicals envelope",
      "family": "inscription",
      "purpose": "Non-fungible Atomicals digital objects, including collection items minted through decentralised mint rules.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "atomicals-nft",
        "atomicals_nfts"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2023
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": "bitcoinuniverseio/index-atomicals-nfts-and-realms",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/atomicals_nft/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Atomicals NFTs has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires at least one confirmation by default; operators may configure 1-100."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The Atomicals journal retains signed listing proof and converges sold rows through authoritative outspend reconciliation."
      },
      "indexer": {
        "primary": "Configured Atomicals ElectrumX/Atomicals Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Mutations fail closed on mixed collateral, wrong NFT subtype, spent outpoint, checkpoint drift, burn, or ownership mismatch."
      }
    },
    {
      "id": "realms",
      "name": "Realms",
      "chain": "bitcoin",
      "carrier": "Atomicals envelope",
      "family": "naming",
      "purpose": "Top-level names in the Atomicals naming system, claimed by satisfying the protocol's mint rules.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "realm",
        "atomicals-realms"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2023
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": "bitcoinuniverseio/index-atomicals-nfts-and-realms",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/realms/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Realms has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires at least one confirmation by default; operators may configure 1-100."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "Authoritative winner and outspend reconciliation preserve signed evidence across rollback."
      },
      "indexer": {
        "primary": "Configured Atomicals ElectrumX authoritative realm authority",
        "fallbacks": [],
        "mutationGate": "Mutations fail closed unless the realm resolver returns the verified winner at the exact live owner outpoint."
      }
    },
    {
      "id": "subrealms",
      "name": "Subrealms",
      "chain": "bitcoin",
      "carrier": "Atomicals envelope",
      "family": "naming",
      "purpose": "Names minted underneath a Realm, subject to the rules the parent Realm publishes.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "subrealm",
        "atomicals-subrealms"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2023
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": "bitcoinuniverseio/index-atomicals-nfts-and-realms",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/subrealms/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Subrealms has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires at least one confirmation by default; operators may configure 1-100."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "Authoritative winner and outspend reconciliation preserve signed evidence across rollback."
      },
      "indexer": {
        "primary": "Configured Atomicals ElectrumX authoritative subrealm authority",
        "fallbacks": [],
        "mutationGate": "Mutations fail closed unless the subrealm resolver returns the verified winner at the exact live owner outpoint."
      }
    },
    {
      "id": "avm",
      "name": "AVM",
      "chain": "bitcoin",
      "carrier": "Atomicals envelope",
      "family": "execution",
      "purpose": "The Atomicals virtual machine, an execution model layered on the Atomicals data format.",
      "operations": [],
      "aliases": [
        "avm-assets",
        "atomicals-avm"
      ],
      "origin": {
        "kind": "external",
        "creator": "Arthur (atomicals.xyz)",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/atomicals-and-arc-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/atomicals-and-arc-20/",
      "universeImplementation": null,
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/avm/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "alkanes",
      "name": "Alkanes",
      "chain": "bitcoin",
      "carrier": "Protostone inside an OP_RETURN runestone envelope",
      "family": "op-return",
      "purpose": "A metaprotocol placing WebAssembly contract execution over Bitcoin, where token balances travel as protorunes in protostones.",
      "operations": [
        "deploy",
        "execute",
        "transfer"
      ],
      "aliases": [
        "alkane"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Alkanes project",
        "year": 2024,
        "note": "Smart contracts compiled to WebAssembly, with balances carried as protorunes."
      },
      "specificationRepository": "bitcoinuniverseio/alkanes",
      "documentationSite": "https://bitcoinuniverseio.github.io/alkanes/",
      "universeImplementation": "bitcoinuniverseio/alkanes-rs and bitcoinuniverseio/index-alkanes",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/alkanes/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "update-listing",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "unlist",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "buy",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "make-offer",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "accept-offer",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "cancel-offer",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "sell",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "settle",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "reconcile",
            "reason": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported mutation reaches confirmation or settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read state follows the authority; no executable order state exists to roll back."
      },
      "indexer": {
        "primary": "Universe Alkanes authority",
        "fallbacks": [
          "Configured mempool/Esplora providers for UTXO and settlement reads"
        ],
        "mutationGate": "Alkanes mutations remain read-only until exact Alkane state, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
      }
    },
    {
      "id": "mezcal",
      "name": "Mezcal",
      "chain": "bitcoin",
      "carrier": "OP_RETURN carrying a JSON payload",
      "family": "op-return",
      "purpose": "A fungible-token protocol whose transfer instructions are written as a compact JSON payload in an OP_RETURN output.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [],
      "origin": {
        "kind": "external",
        "creator": "The Mezcal project",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/mezcal",
      "documentationSite": "https://bitcoinuniverseio.github.io/mezcal/",
      "universeImplementation": "bitcoinuniverseio/index-mezcal",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/mezcal/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "update-listing",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "unlist",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "buy",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "make-offer",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "accept-offer",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "cancel-offer",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "sell",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "settle",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          },
          {
            "action": "reconcile",
            "reason": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported mutation reaches confirmation or settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read state follows the authority; no executable order state exists to roll back."
      },
      "indexer": {
        "primary": "mezcal.sh API",
        "fallbacks": [
          "Configured mempool/Esplora providers for UTXO and settlement reads"
        ],
        "mutationGate": "Mezcal mutations remain read-only until authoritative ownership, transferability, builder, signed-transaction validation, broadcast, settlement, and reorg recovery are deployed and proven."
      }
    },
    {
      "id": "tap",
      "name": "TAP",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription carrying a TAP envelope",
      "family": "inscription",
      "purpose": "An inscribed token protocol with a wider operation set than BRC-20, including token authority and privileged operations.",
      "operations": [
        "deploy",
        "mint",
        "transfer",
        "authority"
      ],
      "aliases": [
        "tap-protocol"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Trac ecosystem",
        "year": 2023,
        "note": "Extends the inscribed-token idea with authority-based operations and privileged mints."
      },
      "specificationRepository": "bitcoinuniverseio/tap",
      "documentationSite": "https://bitcoinuniverseio.github.io/tap/",
      "universeImplementation": "bitcoinuniverseio/index-tap",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/tap/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "in-app-execution",
        "featureGate": "tapMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "TAP has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact confirmed Bitcoin transaction, the consumed TAP transfer inscription, and the buyer indexed balance at stable checkpoints."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, settlement, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured index-tap executable Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh TAP readiness checkpoint, exact complete inventory, clean funding, immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "tap_doge",
      "name": "TAP on Doge",
      "chain": "dogecoin",
      "carrier": "Doginals inscription carrying a TAP envelope",
      "family": "inscription",
      "purpose": "The TAP protocol as applied to Dogecoin inscriptions.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "tap-on-doge",
        "doge-tap",
        "tap-doge"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Trac ecosystem",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/tap-on-doge",
      "documentationSite": "https://bitcoinuniverseio.github.io/tap-on-doge/",
      "universeImplementation": "bitcoinuniverseio/index-doge-tap",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/tap_doge/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "external-execution",
        "featureGate": "dogecoinMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "TAP on Doge has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact Dogecoin transaction confirmation and the expected protocol-state transition in a later authoritative checkpoint."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured pinned Dogecoin TAP reader and Dogecoin Core",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh execution-authenticated readiness probe, a complete authoritative checkpoint, Core-verified funding, exact immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "dmt",
      "name": "DMT",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription referencing a deployed element",
      "family": "inscription",
      "purpose": "Digital Matter Theory: tokens whose content is derived deterministically from block data rather than stored in each mint.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "tap-dmt",
        "tap_dmt"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Trac ecosystem",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-dmt",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/dmt/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "in-app-execution",
        "featureGate": "dmtMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "DMT has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact confirmed Bitcoin transaction, the consumed DMT transfer inscription, and the buyer indexed balance at stable checkpoints."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, settlement, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured index-dmt executable Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh DMT readiness checkpoint, exact complete inventory, clean funding, immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "bitmap",
      "name": "Bitmap",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription of the form <block>.bitmap",
      "family": "naming",
      "purpose": "Claims of Bitcoin blocks as addressable districts, established by the first valid inscription for a block number.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "bitmaps"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Bitmap community",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-bitmap",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/bitmap/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "in-app-execution",
        "featureGate": "bitmapMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Bitmap has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact confirmed Bitcoin transaction and the authoritative Bitmap claim indexed at a buyer-owned output at stable checkpoints."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, settlement, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured index-bitmap executable Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh Bitmap checkpoint, authoritative first-claim ownership, complete inventory, clean funding, immutable economics, and post-sign validation."
      }
    },
    {
      "id": "unat",
      "name": "UNAT",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription",
      "family": "inscription",
      "purpose": "Natural-asset digital artifacts recorded through inscriptions and rendered from deterministic rules.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "tap-unat",
        "tap_unat"
      ],
      "origin": {
        "kind": "external",
        "creator": "The UNAT community",
        "year": 2024
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-unat",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/unat/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "in-app-execution",
        "featureGate": "unatMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "UNAT has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact confirmed Bitcoin transaction and the authoritative UNAT mint indexed at a buyer-owned output at stable checkpoints."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, settlement, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured index-unat executable Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh UNAT readiness checkpoint, exact authoritative mint membership, complete inventory, clean funding, immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "names",
      "name": "Bitcoin Names",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription",
      "family": "naming",
      "purpose": "Names claimed by inscription, resolved by first-valid-claim indexing rules.",
      "operations": [
        "mint",
        "transfer"
      ],
      "aliases": [
        "bitcoin-names",
        "domains"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Bitcoin names community",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-names",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/names/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "in-app-execution",
        "featureGate": "namesMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Bitcoin Names has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact confirmed Bitcoin transaction and the authoritative name inscription indexed at a buyer-owned output at stable checkpoints."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority continuously reconciles active broadcasts, appends reorg observations, invalidates affected orders deterministically, and preserves funding, broadcast, settlement, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured index-names executable Marketplace authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh Names checkpoint, authoritative first-registration ownership, complete inventory, clean funding, immutable economics, and post-sign validation."
      }
    },
    {
      "id": "block20",
      "name": "BLOCK-20",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription",
      "family": "inscription",
      "purpose": "A token protocol whose mint validity is tied to block-derived proof rather than open minting.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "block-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The BLOCK-20 community",
        "year": 2023
      },
      "specificationRepository": "bitcoinuniverseio/block-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/block-20/",
      "universeImplementation": "bitcoinuniverseio/index-block20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/block20/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "dust20",
      "name": "DUST-20",
      "chain": "bitcoin",
      "carrier": "Inscription for deploy and mint, then an ordinary spend for movement",
      "family": "colored-sats",
      "purpose": "Tokens whose units are carried by the satoshis holding them. A deploy inscription fixes how many satoshis back one unit, a mint inscription must sit in an output holding exactly that many, and movement is an ordinary spend whose output layout decides which whole units survive.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "dust-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The DUST-20 community",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/dust-20",
      "documentationSite": "https://bitcoinuniverseio.github.io/dust-20/",
      "universeImplementation": "bitcoinuniverseio/index-dust20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/dust20/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "update-listing",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "unlist",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "buy",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "make-offer",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "accept-offer",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "cancel-offer",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "sell",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "settle",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          },
          {
            "action": "reconcile",
            "reason": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported marketplace mutation reaches settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read-only catalog data follows its discovery source."
      },
      "indexer": {
        "primary": "DUST-20 indexer discovery and portfolio data",
        "fallbacks": [],
        "mutationGate": "DUST-20 mutations are unavailable until a typed authoritative ownership resolver replaces the retired address-only legacy flow."
      }
    },
    {
      "id": "op_return",
      "name": "OP-20",
      "chain": "bitcoin",
      "carrier": "OP_RETURN",
      "family": "op-return",
      "purpose": "A token protocol using plain OP_RETURN data outputs as its only carrier.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "op-return",
        "op20",
        "op-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The OP-20 community",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/op-return",
      "documentationSite": "https://bitcoinuniverseio.github.io/op-return/",
      "universeImplementation": "bitcoinuniverseio/index-op20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/op_return/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "update-listing",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "unlist",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "buy",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410. The current UI can reach a broadcast step before registration fails, so buy is not declared supported."
          },
          {
            "action": "make-offer",
            "reason": "OP-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "OP-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "OP-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "OP-20 has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "settle",
            "reason": "OP-20 has no executable settle authority on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "OP-20 has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported marketplace mutation reaches a confirmed local state."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "The read-only feed has no local lifecycle reconciliation."
      },
      "indexer": {
        "primary": "APIV4 OP-20 API with legacy fallback",
        "fallbacks": [
          "Legacy API and static sample fallback data"
        ],
        "mutationGate": "All legacy replay-key mutations are rejected."
      }
    },
    {
      "id": "op_names",
      "name": "OP Names",
      "chain": "bitcoin",
      "carrier": "OP_RETURN",
      "family": "naming",
      "purpose": "Names registered through OP_RETURN data outputs.",
      "operations": [
        "register",
        "transfer"
      ],
      "aliases": [
        "op-names",
        "opnames"
      ],
      "origin": {
        "kind": "external",
        "creator": "The OP Names community",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/op-return",
      "documentationSite": "https://bitcoinuniverseio.github.io/op-return/",
      "universeImplementation": "bitcoinuniverseio/index-op20 (the OP Names authority is colocated there, not in index-names)",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/op_names/",
      "marketplace": {
        "availability": "read-only",
        "mode": "read-only",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "update-listing",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "unlist",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410."
          },
          {
            "action": "buy",
            "reason": "Legacy random-key/replay marketplace mutations are retired and fail closed; the backend returns HTTP 410. The current UI can reach a broadcast step before registration fails, so buy is not declared supported."
          },
          {
            "action": "make-offer",
            "reason": "OP Names has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "OP Names has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "OP Names has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "OP Names has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "settle",
            "reason": "OP Names has no executable settle authority on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "OP Names has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No supported marketplace mutation reaches a confirmed local state."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "The read-only feed has no local lifecycle reconciliation."
      },
      "indexer": {
        "primary": "APIV4 OP Names API with legacy fallback",
        "fallbacks": [
          "Legacy API and static sample fallback data"
        ],
        "mutationGate": "All legacy replay-key mutations are rejected."
      }
    },
    {
      "id": "op_inscriptions",
      "name": "OP Inscriptions",
      "chain": "bitcoin",
      "carrier": "OP_RETURN",
      "family": "op-return",
      "purpose": "Content records written directly into OP_RETURN outputs rather than witness data.",
      "operations": [
        "inscribe",
        "transfer"
      ],
      "aliases": [
        "op-inscriptions",
        "opinscriptions"
      ],
      "origin": {
        "kind": "external",
        "creator": "The OP Inscriptions community",
        "year": 2024
      },
      "specificationRepository": "bitcoinuniverseio/op-return",
      "documentationSite": "https://bitcoinuniverseio.github.io/op-return/",
      "universeImplementation": "bitcoinuniverseio/index-opinscriptions",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/op_inscriptions/",
      "marketplace": {
        "availability": "enabled",
        "mode": "in-app-execution",
        "featureGate": null,
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "unlist",
          "buy",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "update-listing",
            "reason": "OP Inscriptions listings must be cancelled and relisted; no atomic listing update is implemented."
          },
          {
            "action": "make-offer",
            "reason": "OP Inscriptions has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "OP Inscriptions has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "OP Inscriptions has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "OP Inscriptions has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "A fill is recorded only after the exact receipt spend, buyer receipt, and seller payout are confirmed on-chain."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The OP Inscriptions reconciler reopens canonically unspent receipts and marks conflicting spends stale."
      },
      "indexer": {
        "primary": "Standalone OP Inscriptions indexer for catalog reads",
        "fallbacks": [
          "Universe raw-block OP_RETURN scanner and SQL cache"
        ],
        "mutationGate": "Live title receipt is re-resolved, but indexer tip lag is not compared with node tip."
      }
    },
    {
      "id": "op_drop",
      "name": "OP_DROP",
      "chain": "bitcoin",
      "carrier": "Script witness data consumed by OP_DROP",
      "family": "witness-script",
      "purpose": "A data carrier that places payloads in script witness data removed from the stack by OP_DROP, giving a carrier distinct from both inscriptions and OP_RETURN.",
      "operations": [
        "carry",
        "commit"
      ],
      "aliases": [
        "op-drop",
        "opdrop"
      ],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025,
        "note": "An original Bitcoin Universe carrier design."
      },
      "specificationRepository": "bitcoinuniverseio/op-drop",
      "documentationSite": "https://bitcoinuniverseio.github.io/op-drop/",
      "universeImplementation": "bitcoinuniverseio/index-drops-and-opdrop",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/op_drop/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "external-execution",
        "featureGate": "opDropTrading",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "OP_DROP has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement is recorded only when the finalized-block scanner verifies the exact intent transaction and OP_DROP custody transition."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "Authoritative rollback removes block-bound settlement evidence, marks the intent reorged, and preserves deterministic recovery and rebroadcast lineage."
      },
      "indexer": {
        "primary": "Configured OP_DROP marketplace v1 authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh authoritative checkpoint, exact immutable economic terms, and a compatible durable schema."
      }
    },
    {
      "id": "drops",
      "name": "Drops",
      "chain": "bitcoin",
      "carrier": "OP_DROP payloads",
      "family": "witness-script",
      "purpose": "Media-first artifacts and agreements recorded through the OP_DROP carrier, including Drop Pacts.",
      "operations": [
        "drop",
        "pact",
        "transfer"
      ],
      "aliases": [
        "drops-protocol"
      ],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025,
        "note": "The application protocol built on the OP_DROP carrier."
      },
      "specificationRepository": "bitcoinuniverseio/drops-protocol-docs",
      "documentationSite": "https://bitcoinuniverseio.github.io/drops-protocol-docs/",
      "universeImplementation": "bitcoinuniverseio/index-drops-and-opdrop",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/drops/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "external-execution",
        "featureGate": "dropsMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "DROPS has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement is recorded only when the finalized-block scanner verifies the exact intent transaction and custody transition."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "Authoritative rollback removes block-bound settlement evidence, marks the intent reorged, and preserves deterministic rebroadcast lineage."
      },
      "indexer": {
        "primary": "Configured DROPS marketplace v1 authority",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, finalized dual-Core agreement, complete composite inventory, and exact immutable terms."
      }
    },
    {
      "id": "doginals",
      "name": "Doginals",
      "chain": "dogecoin",
      "carrier": "Witness-data inscription envelope on Dogecoin",
      "family": "inscription",
      "purpose": "Ordinals-style inscriptions applied to Dogecoin.",
      "operations": [
        "inscribe",
        "transfer"
      ],
      "aliases": [
        "doginal"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Dogecoin ordinals community",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/ord-dogecoin",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/doginals/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "external-execution",
        "featureGate": "dogecoinMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "Doginals has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact Dogecoin transaction confirmation and the expected protocol-state transition in a later authoritative checkpoint."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured Doginals checkpoint authority and Dogecoin Core",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh execution-authenticated readiness probe, a complete authoritative checkpoint, Core-verified funding, exact immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "drc20",
      "name": "DRC-20",
      "chain": "dogecoin",
      "carrier": "Doginals inscription carrying a JSON payload",
      "family": "inscription",
      "purpose": "The BRC-20 token model applied to Dogecoin inscriptions.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "drc-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The Dogecoin ordinals community",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/ord-dogecoin",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/drc20/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "external-execution",
        "featureGate": "dogecoinMarketplaceV1",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity",
          "list",
          "update-listing",
          "unlist",
          "buy",
          "make-offer",
          "accept-offer",
          "cancel-offer",
          "settle",
          "reconcile"
        ],
        "unsupportedActions": [
          {
            "action": "sell",
            "reason": "DRC-20 has no executable offer workflow on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": 1,
        "policy": "Settlement requires the exact Dogecoin transaction confirmation and the expected protocol-state transition in a later authoritative checkpoint."
      },
      "reorg": {
        "automaticReconciliation": true,
        "policy": "The authority appends reorg observations, reopens or invalidates affected orders deterministically, and preserves funding, broadcast, and replacement lineage."
      },
      "indexer": {
        "primary": "Configured DRC-20 checkpoint authority and Dogecoin Core",
        "fallbacks": [],
        "mutationGate": "Execution requires distinct read and execution credentials, a fresh execution-authenticated readiness probe, a complete authoritative checkpoint, Core-verified funding, exact immutable economics, and protocol-native post-sign validation."
      }
    },
    {
      "id": "dunes",
      "name": "Dunes",
      "chain": "dogecoin",
      "carrier": "OP_RETURN dunestone",
      "family": "op-return",
      "purpose": "UTXO-native fungible tokens on Dogecoin, encoded as a dunestone in an OP_RETURN output. Balances live in transaction outputs and move by ordinary spending, with etching, minting, and edicts in a single data output.",
      "operations": [
        "etch",
        "mint",
        "transfer"
      ],
      "aliases": [],
      "origin": {
        "kind": "external",
        "creator": "The Dogecoin dunes community",
        "year": 2024,
        "note": "The Runes design applied to Dogecoin. A dunestone carries the same shape as a runestone: edicts, an optional etching, an optional pointer, and a cenotaph flag for a malformed message."
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/ord-dogecoin",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/dunes/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "cat20",
      "name": "CAT-20",
      "chain": "bitcoin",
      "carrier": "Covenant-based UTXO tokens",
      "family": "covenant",
      "purpose": "Fungible tokens enforced by covenant constructions rather than by indexer convention.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "cat",
        "cat-20"
      ],
      "origin": {
        "kind": "external",
        "creator": "The CAT protocol community",
        "year": 2024
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-cat20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/cat20/",
      "marketplace": {
        "availability": "feature-gated-testnet-only",
        "mode": "trade-preview-only",
        "featureGate": "cat20FractalTrade",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "update-listing",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "unlist",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "buy",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "make-offer",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "accept-offer",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "cancel-offer",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "sell",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "settle",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          },
          {
            "action": "reconcile",
            "reason": "Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "No executable settlement exists."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Read state follows tracker/node responses; no local order lifecycle exists."
      },
      "indexer": {
        "primary": "Configured CAT20 tracker plus Fractal Bitcoin Core read client",
        "fallbacks": [],
        "mutationGate": "Mainnet is unavailable; preview does not authorize execution."
      }
    },
    {
      "id": "cat721",
      "name": "CAT-721",
      "chain": "bitcoin",
      "carrier": "Covenant-based UTXO tokens",
      "family": "covenant",
      "purpose": "The non-fungible counterpart to CAT-20, using the same covenant model.",
      "operations": [
        "deploy",
        "mint",
        "transfer"
      ],
      "aliases": [
        "cat-721"
      ],
      "origin": {
        "kind": "external",
        "creator": "The CAT protocol community",
        "year": 2024
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "bitcoinuniverseio/index-cat20",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/cat721/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "rare_sats",
      "name": "Rare Sats",
      "chain": "bitcoin",
      "carrier": "Ordinal theory rarity classes",
      "family": "sat-rarity",
      "purpose": "Satoshis distinguished by ordinal-theory rarity, such as block firsts and cycle boundaries, tracked as collectible outputs.",
      "operations": [
        "identify",
        "transfer"
      ],
      "aliases": [
        "rare-sats",
        "raresats"
      ],
      "origin": {
        "kind": "external",
        "creator": "Casey Rodarmor",
        "year": 2023
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "Universe-operated ord server",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/rare_sats/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "live-read-only",
        "featureGate": "rareSats",
        "supportedActions": [
          "view",
          "view-collection",
          "view-activity"
        ],
        "unsupportedActions": [
          {
            "action": "list",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "update-listing",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "unlist",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "buy",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "make-offer",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "accept-offer",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "cancel-offer",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "sell",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "settle",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          },
          {
            "action": "reconcile",
            "reason": "Production Rare Sats trading requires an external marketplace; local execution exists only in the development/test simulator."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "The simulator enforces configured confirmations; live production does not settle orders."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Live checks fail closed when ord reports a reorg; no local production order state exists to roll back."
      },
      "indexer": {
        "primary": "Operator-configured local ord server with sat index",
        "fallbacks": [],
        "mutationGate": "Live checks require sat-index readiness, matching network, checkpoint stability, and no reported reorg."
      }
    },
    {
      "id": "ordex",
      "name": "Ordex",
      "chain": "bitcoin",
      "carrier": "Signed partially signed Bitcoin transactions",
      "family": "exchange",
      "purpose": "An order and evidence format for exchanging Ordinals using signed PSBTs, with verification against a local node rather than a trusted marketplace.",
      "operations": [
        "publish",
        "route",
        "verify"
      ],
      "aliases": [
        "openordex"
      ],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025,
        "note": "A routing and evidence layer over openly published PSBT orders."
      },
      "specificationRepository": "bitcoinuniverseio/ordex",
      "documentationSite": "https://bitcoinuniverseio.github.io/ordex/",
      "universeImplementation": "bitcoinuniverseio/ordex",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/ordex/",
      "marketplace": {
        "availability": "feature-gated",
        "mode": "psbt-routing-only",
        "featureGate": "ordex",
        "supportedActions": [
          "view",
          "view-collection",
          "list"
        ],
        "unsupportedActions": [
          {
            "action": "view-activity",
            "reason": "Ordex does not implement view-activity on this marketplace surface."
          },
          {
            "action": "update-listing",
            "reason": "Ordex does not mutate signed PSBT terms; publish a new signed order instead."
          },
          {
            "action": "unlist",
            "reason": "Ordex withdrawal is an operator-admin action; no public seller cancellation authorization is implemented."
          },
          {
            "action": "buy",
            "reason": "Ordex validates and routes PSBTs but explicitly does not fund, sign, or broadcast settlement."
          },
          {
            "action": "make-offer",
            "reason": "Ordex has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "accept-offer",
            "reason": "Ordex has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "cancel-offer",
            "reason": "Ordex has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "sell",
            "reason": "Ordex has no executable offer workflow on this marketplace surface."
          },
          {
            "action": "settle",
            "reason": "Ordex has no executable settle authority on this marketplace surface."
          },
          {
            "action": "reconcile",
            "reason": "Ordex has no executable reconcile authority on this marketplace surface."
          }
        ]
      },
      "confirmation": {
        "listingMinConfirmations": null,
        "settlementMinConfirmations": null,
        "policy": "Ordex never broadcasts or records a completed settlement."
      },
      "reorg": {
        "automaticReconciliation": false,
        "policy": "Manual revalidation can change actionability; no automatic reorg state transition exists."
      },
      "indexer": {
        "primary": "Local Bitcoin Core and local ord server",
        "fallbacks": [
          "Signed OpenOrdex Nostr kind-802 evidence",
          "ord-offers/direct imports"
        ],
        "mutationGate": "Build/publish validates live UTXO and ord claim; no persistent node/indexer lag metric is enforced."
      }
    },
    {
      "id": "chainbloom",
      "name": "ChainBloom",
      "chain": "bitcoin",
      "carrier": "Ordinals inscription with deterministic rendering",
      "family": "generative-art",
      "purpose": "Generative on-chain artwork whose output is derived deterministically from chain data, so every viewer renders the same result.",
      "operations": [
        "mint",
        "render",
        "transfer"
      ],
      "aliases": [
        "chain-bloom"
      ],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/chainbloom",
      "documentationSite": "https://bitcoinuniverseio.github.io/chainbloom/",
      "universeImplementation": "bitcoinuniverseio/index-chainbloom",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/chainbloom/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "zerdinals",
      "name": "Zerdinals",
      "chain": "zcash",
      "carrier": "Zcash transaction data",
      "family": "inscription",
      "purpose": "Digital artifacts recorded on Zcash, with explicit handling of the difference between transparent and shielded activity.",
      "operations": [
        "inscribe",
        "transfer"
      ],
      "aliases": [
        "universe-zerdinals"
      ],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025,
        "note": "Digital artifacts native to Zcash, with transparent and shielded considerations."
      },
      "specificationRepository": "bitcoinuniverseio/docs-zerdinals-and-zrunes",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-zerdinals-and-zrunes/",
      "universeImplementation": "bitcoinuniverseio/index-zcash-metaprotocols",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/zerdinals/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "zrunes",
      "name": "Z-Runes",
      "chain": "zcash",
      "carrier": "Zcash transaction data",
      "family": "fungible",
      "purpose": "Fungible tokens native to Zcash, including the ZRC-20 token standard.",
      "operations": [
        "etch",
        "mint",
        "transfer"
      ],
      "aliases": [],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/docs-zerdinals-and-zrunes",
      "documentationSite": "https://bitcoinuniverseio.github.io/docs-zerdinals-and-zrunes/",
      "universeImplementation": "bitcoinuniverseio/index-zcash-metaprotocols",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/zrunes/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "witness-circles",
      "name": "Witness Circles",
      "chain": "bitcoin",
      "carrier": "Witness data commitments",
      "family": "membership",
      "purpose": "Membership records established by mutual witnessing, where a circle's state is derived from the commitments its members publish.",
      "operations": [
        "open",
        "witness",
        "close"
      ],
      "aliases": [],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/witness-circles",
      "documentationSite": "https://bitcoinuniverseio.github.io/witness-circles/",
      "universeImplementation": "bitcoinuniverseio/index-witness-circles",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/witness-circles/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "tandem",
      "name": "Tandem",
      "chain": "bitcoin",
      "carrier": "An exact 20,000 satoshi native SegWit 2-of-2 P2WSH output",
      "family": "joint-custody",
      "purpose": "An object two people create and hold together. The active object is an exact 2-of-2 output, so both current keys are required for any cooperative action: adding a chapter, rotating one or both keys, or closing. If collaboration stops, a recovery transaction prepared in advance becomes usable once its relative lock matures.",
      "operations": [
        "open",
        "chapter",
        "rotate",
        "close",
        "recover"
      ],
      "aliases": [],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/tandem",
      "documentationSite": "https://bitcoinuniverseio.github.io/tandem/",
      "universeImplementation": "bitcoinuniverseio/index-tandem and bitcoinuniverseio/tandem-verifier-rs",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/tandem/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "patina",
      "name": "Patina",
      "chain": "bitcoin",
      "carrier": "Provenance commitments over existing artifacts",
      "family": "provenance",
      "purpose": "A provenance layer that accumulates verifiable history over an existing artifact rather than creating a new asset.",
      "operations": [
        "attest",
        "accrue",
        "verify"
      ],
      "aliases": [],
      "origin": {
        "kind": "universe-original",
        "creator": "Bitcoin Universe",
        "year": 2025
      },
      "specificationRepository": "bitcoinuniverseio/patina",
      "documentationSite": "https://bitcoinuniverseio.github.io/patina/",
      "universeImplementation": "bitcoinuniverseio/index-patina",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/patina/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    },
    {
      "id": "bitcoin",
      "name": "Bitcoin",
      "chain": "bitcoin",
      "carrier": "Native transaction outputs",
      "family": "base-layer",
      "purpose": "The base chain itself: plain value held in unspent transaction outputs, which every protocol above ultimately rides on.",
      "operations": [
        "send",
        "receive"
      ],
      "aliases": [
        "btc"
      ],
      "origin": {
        "kind": "external",
        "creator": "Satoshi Nakamoto",
        "year": 2009
      },
      "specificationRepository": null,
      "documentationSite": null,
      "universeImplementation": "Universe-operated Bitcoin Core nodes",
      "portalUrl": "https://docs.bitcoinuniverse.io/protocols/bitcoin/",
      "marketplace": null,
      "confirmation": null,
      "reorg": null,
      "indexer": null
    }
  ]
}
