Skip to content

CAT-20

Source bitcoinuniverseio/core (private)
Path backend/packages/ecosystem-contracts/lib/protocols.js
Chain bitcoin
Network mainnet
Lifecycle feature-gated-testnet-only
Verified 2026-09-01
AvailabilityGated, testnet onlyBehind a feature gate and confined to a test network. There is no mainnet trading.
ChainbitcoinOwnership model: utxo. Decimals: none.
Actions supported3 / 13No trading action is declared supported for this protocol.
Feature gatecat20FractalTradeEvery action below stays closed until an operator enables this gate.

Execution model

A trade can be previewed but never signed or broadcast: there is no signer.

Registry values
Execution mode
trade-preview-only
Owning surface
main
Availability
feature-gated-testnet-only
Feature gate
cat20FractalTrade
Aliases accepted
catcat-20
Address roles
ordinals

Actions

ActionSupportedMode, or the reason it is not
ViewYesA trade can be previewed but never signed or broadcast: there is no signer.
View collectionYesA trade can be previewed but never signed or broadcast: there is no signer.
View activityYesA trade can be previewed but never signed or broadcast: there is no signer.
ListNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
Update listingNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
DelistNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
BuyNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
Make offerNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
Accept offerNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
Cancel offerNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
SellNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
SettleNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.
ReconcileNoFractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.

Why the rest are unavailable

  • ListUpdate listingDelistBuyMake offerAccept offerCancel offerSellSettleReconcile

    Fractal testnet reads and trade preview are available, but no CAT20 signer or broadcaster exists.

Source of truth

QuestionWhat answers it
Which orders existRead-only tracker order-book review
Who owns the assetTracker plus Fractal Bitcoin Core read validation
Whether a trade settledNo signer or broadcaster
What the protocol state isConfigured CAT20 tracker plus Fractal Bitcoin Core read client

Indexer

Primary index

Configured CAT20 tracker plus Fractal Bitcoin Core read client

Fallbacks

None. If the primary index cannot be read, this protocol has nothing to fall back to and the page says the read failed.

What a mutation must prove

Mainnet is unavailable; preview does not authorize execution.

Freshness, confirmation, and reorg policy

PolicyValueWhat the registry states
Freshness enforcedYesTrade preview enforces the runtime-configured order-book age (120 seconds by default) and future-skew limit, but no chain-tip lag ceiling.
Maximum index lagnot setNo numeric block-lag ceiling is configured for this protocol.
Maximum observation agenot setNo maximum age is configured for an observation used by a mutation.
Listing confirmationsnot setNo executable settlement exists.
Settlement confirmationsnot setNo settlement depth applies, because no supported action reaches settlement.
Automatic reorg reconciliationNoRead state follows tracker/node responses; no local order lifecycle exists.

Where else this protocol appears

The Bitcoin Universe registry records actions per product surface. Core is the main surface. The others are named here because a reader who cannot do something in Core may be able to do it in a sibling product.

SurfaceActions recorded
Coremainviewdiscoverview-collectionview-activityview-transaction
Walletwalletviewsendreceive
Inscribeinscribemint