# Capability matrix

The raw ecosystem registry fields for Bitcoin Stamps and SRC-20 on StampDEX, including surfaces, ownership model, and every unsupported action with its reason.

> Source: bitcoinuniverseio/core, published as a snapshot in bitcoinuniverseio/docs-platform, backend/packages/ecosystem-contracts/lib/protocols.js. Applicable release core commit 15dd03b5986a0a7ceba2b1a1ed30f3888ae4712c. Last verified 2026-09-01. Chain bitcoin/mainnet.

import ActionTable from '../../../components/ActionTable.astro';
import SourceOfTruth from '../../../components/SourceOfTruth.astro';
import registry from '../../../data/registry.json';

The prose version of this is
[What you can and cannot do](/docs-stampdex/capabilities/). This page is the fields
themselves, for anyone who needs to quote them.

<div class="sd-ledger">
  <div class="sd-ledger-head">
    <span>Registry provenance</span>
    <span>{registry.provenance.registryCommittedAt}</span>
  </div>
  <div class="sd-ledger-body">
    <table>
      <tbody>
        <tr>
          <th scope="row">Source repository</th>
          <td>{registry.provenance.repository}</td>
        </tr>
        <tr>
          <th scope="row">Source path</th>
          <td><code>{registry.provenance.sourcePath}</code></td>
        </tr>
        <tr>
          <th scope="row">Source commit</th>
          <td><code>{registry.provenance.sourceCommit}</code></td>
        </tr>
        <tr>
          <th scope="row">Registry commit</th>
          <td><code>{registry.provenance.registryCommit}</code></td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

## Protocol facts

| Field | Bitcoin Stamps | SRC-20 |
| --- | --- | --- |
| Registry id | `stamps` | `src20` |
| Aliases | `stamp`, `btc-stamps` | `src-20` |
| Chain | `bitcoin` | `bitcoin` |
| Ownership model | `utxo` | `balance` |
| Decimals | `none` | `asset-defined` |
| Address roles | `payment` | `payment`, `ordinals` |
| Marketplace owner | `stampdex` | `stampdex` |
| Availability | `enabled` | `enabled` |
| Execution mode | `external-execution` | `external-execution` |
| Feature gate | none | none |

## Surface actions

What each Bitcoin Universe surface offers for these protocols. The StampDEX row is the
one this site documents.

| Surface | Bitcoin Stamps | SRC-20 |
| --- | --- | --- |
| Core | view, discover, view-collection, view-activity, view-transaction | view, discover, view-collection, view-activity, view-transaction |
| Wallet | view, send, receive | view, send, receive |
| Inscribe | inscribe, transfer | deploy, mint, transfer |
| StampDEX | view, discover, view-collection, view-activity, view-transaction, list, unlist, buy | view, discover, view-collection, view-activity, view-transaction, list, unlist, buy, cancel-offer, settle |

## Marketplace actions: Bitcoin Stamps

<ActionTable protocol="stamps" />

## Marketplace actions: SRC-20

<ActionTable protocol="src20" />

## Sources of truth: Bitcoin Stamps

<SourceOfTruth protocol="stamps" />

## Sources of truth: SRC-20

<SourceOfTruth protocol="src20" />

## Enforcement fields

| Field | Bitcoin Stamps | SRC-20 |
| --- | --- | --- |
| Freshness enforced by Universe | No | No |
| Maximum lag in blocks | Not set | Not set |
| Maximum observation age | Not set | Not set |
| Listing minimum confirmations | Not set at this layer | Not set at this layer |
| Settlement minimum confirmations | Not set at this layer | Not set at this layer |
| Automatic reorg reconciliation | No | No |

Not set at this layer does not mean zero. It means the number is decided by StampDEX
and Counterparty rather than by the Universe registry. StampDEX itself settles at two
confirmations; see
[Settlement lifecycle](/docs-stampdex/concepts/settlement-lifecycle/).

## Related

- [What you can and cannot do](/docs-stampdex/capabilities/)
- [Data provenance](/docs-stampdex/concepts/data-provenance/)
- [Freshness](/docs-stampdex/concepts/freshness/)