TAP on DogeBitcoin Universe

Dogecoin mainnet protocol documentation

TAP on Doge

TAP is an inscribed token protocol from the Trac ecosystem. TAP on Doge is that protocol carried by Doginals inscriptions on Dogecoin. The operation names are shared with TAP on Bitcoin. Almost everything underneath them is not.

  • Chain Dogecoin mainnet
  • Protocol tag p: "tap"
  • Document v1.0.0
  • Lifecycle Experimental
A TAP payload becoming a confirmed Dogecoin inscription A JSON payload with p tap and op token-mint is split into 520 byte chunks. The chunks are written as push data into the scriptSig of the first input of a reveal transaction, which is confirmed by Dogecoin blocks arriving one per minute. JSON PAYLOAD { "p": "tap", "op": "token-mint",   "tick": "tap", "amt": "1000" } SCRIPTSIG PUSH DATA, INPUT 0 "ord" n content type chunk 1 chunk 2 …520 B DOGECOIN BLOCKS, ONE PER MINUTE +1 +2 +3 +4 +5 +6 6 min

What TAP on Doge is

TAP is a token protocol whose messages are plain JSON text inside inscriptions. An inscription carrying {"p": "tap", …} is a TAP message. Indexers read those messages in the order the chain confirms them and derive balances from them. There is no contract, no sidechain, and no bridge: the chain orders the messages and the indexers agree on what the ordering means.

TAP on Doge is the same protocol with the same operation names, indexed over Doginals inscriptions on Dogecoin mainnet. Externally it behaves the way DRC-20 does, so a marketplace or wallet that already handles DRC-20 balances can handle TAP balances by changing which indexer it asks and which protocol tag it writes. Internally it adds operations DRC-20 does not have: batch sends, inscription-based trades, and delegated signing authorities.

Origin and attribution

TAP was created by Trac Systems, not by Bitcoin Universe. The Dogecoin specification this documentation follows is published at Trac-Systems/doge-tap-protocol-specs, and it names ord-dogecoin as the Doginals client whose behaviour the protocol is defined against. This site documents the protocol as the ecosystem operates it, and marks every Bitcoin Universe indexing decision as such.

What Dogecoin actually changes

It is tempting to describe TAP on Doge as "TAP, but on Dogecoin". That framing causes real losses, because the advice people carry over does not survive the trip. Five things change.

One payload, two different carriers The same TAP JSON payload sits at the top. On the left, the Bitcoin carrier places it inside a taproot witness envelope beginning OP_FALSE OP_IF ord, where witness bytes are discounted to one quarter weight and one transaction holds the whole payload. On the right, the Dogecoin carrier places it as bare push data in the scriptSig of input zero, in 520 byte chunks, with no witness and no discount, continuing into further transactions when the chunks do not fit. THE SAME JSON PAYLOAD {"p":"tap","op":"token-transfer",…} TAP ON BITCOIN Carrier: taproot witness envelope OP_FALSE OP_IF "ord" … OP_ENDIF inside the witness of the reveal input Witness bytes count at one quarter weight One commit plus one reveal carries it all Ordinals address, bech32m bc1p… A confirmation is about 10 minutes TAP ON DOGE Carrier: scriptSig push data, input 0 "ord" n <type> n-1 <chunk> … no witness, no OP_IF, pure pushes Every byte counts at full rate Large content spans a chain of transactions Payment address, base58 D… A confirmation is about 1 minute
The payload format is shared. The carrier is not: Dogecoin has no Taproot, so the inscription rides in the input script instead of the witness.
The five differences that change how you should act, not just how the chain looks.
ConcernTAP on BitcoinTAP on DogeWhy it matters to you
Block target 10 minutes 1 minute "Wait for 6 confirmations" means about an hour on Bitcoin and about six minutes here. The number is the same and the safety is not.
Inscription carrier Taproot witness envelope Push data in the scriptSig of input 0 There is no Taproot on Dogecoin. Tooling that builds a witness envelope produces a transaction no Doginals indexer will read.
Size and fees Witness bytes discounted to one quarter weight No witness, therefore no discount Content that is cheap on Bitcoin per byte is not here, and large content is normal on Dogecoin, so the two effects push in opposite directions.
Large content Fits one reveal transaction Continues across a chain of transactions A partially revealed inscription indexes as nothing at all. An interrupted chain is spent money and no asset.
Addresses Bech32m ordinals address Base58check payment address, version byte 0x1e Dogecoin has no separate ordinals address role. A bc1p… recipient pasted into a token-send is unrecoverable.

A confirmation is a unit of time, and the unit changed

This is the single most misread difference, so it is worth seeing rather than reading. The same confirmation count buys one tenth the elapsed time on Dogecoin that it buys on Bitcoin.

Six confirmations on Dogecoin against six confirmations on Bitcoin Two timelines on the same scale of sixty minutes. The Dogecoin timeline reaches six confirmations after six minutes and then keeps producing blocks, reaching about sixty confirmations by the end of the hour. The Bitcoin timeline reaches six confirmations only at the end of the same hour. ONE HOUR OF WALL CLOCK TIME 0 min 30 min 60 min DOGECOIN 6 conf and then another 54 confirmations before the hour is out 6 confirmations = about 6 minutes BITCOIN 6 conf = about 60 minutes
Both bars show six confirmations. Only the elapsed time differs, and it differs by a factor of ten. The confirmation comparator will convert any count you care about.
Read this before reusing a policy

Elapsed time is not accumulated work. Dogecoin and Bitcoin are separate chains with separate hashrate and separate proof-of-work functions, so sixty Dogecoin blocks and six Bitcoin blocks are equal only on a clock. Choose a confirmation policy from the value at risk and the reorg depths the chain actually produces, not by copying a number across chains. The reference page gives the reorg window the Bitcoin Universe Dogecoin index can recover from.

The operations, at a glance

Every TAP operation name is prefixed. There is no bare mint and no bare transfer in this protocol. The prefixes are the difference between TAP and DRC-20, and they are the most common thing to get wrong.

The complete operation set for TAP on Dogecoin. The specification gives the field-level rules.
OperationGroupWhat it doesTapped?
token-deployExternalCreates a ticker with a maximum supply and an optional per-mint limit.No
token-mintExternalMints from a deployed ticker, within its per-mint limit.No
token-transferExternalParks an amount as a transfer inscription that can then be sent to anyone.No
token-sendInternalMoves many amounts of many tickers to many recipients at once.Yes
block-transferablesInternalDisables incoming inscribe transfers for the tapping address.Yes
unblock-transferablesInternalRe-enables incoming inscribe transfers.Yes
token-tradeInternalCreates, cancels, or fills an inscription-based trade.Yes
token-authInternalCreates, uses, or cancels a signing authority that issues redeems.Create and cancel only
privilege-authInternalCreates or cancels a privilege authority, or records a hashed verification.Create and cancel only
dmt-deployDMTDeploys a Digital Matter Theory token against an element inscription.No
dmt-mintDMTMints a Digital Matter Theory token for one block height.No

"Tapped" means the inscription must be sent from the address that owns it back to that same address after it confirms. Tapping is TAP's approval step, and it is where the protocol gets its name. An untapped internal operation has no effect at all.

Support in Bitcoin Universe products

This table reflects the protocol registry and generated capability snapshot in the Bitcoin Universe codebase, not a roadmap. Where an action is absent it is absent because nothing in the code implements it.

TAP on Doge, registry id tap_doge, ownership model hybrid, address role payment.
SurfaceStateActions
Marketplace Feature gated, external execution view, view-collection, view-activity, list, update-listing, unlist, buy, make-offer, accept-offer, cancel-offer, settle, reconcile
Wallet Present view, send, receive
Inscribe Present mint
Not supported sell Recorded reason: TAP on Doge has no executable offer workflow on this marketplace surface.

The marketplace surface is gated behind a deployment feature flag and runs in external execution mode, which means Bitcoin Universe assembles and validates the exact Dogecoin transaction but the authorising signature comes from your wallet. Settlement requires the exact transaction confirmation plus the expected protocol state transition appearing in a later authoritative checkpoint, with a minimum of one confirmation before settlement is considered. Reorg reconciliation is automatic. The reference page describes what the Bitcoin Universe Dogecoin TAP source does and does not claim.

Who this is for

Entry points

Reporting a security issue

Report vulnerabilities privately through GitHub private vulnerability reporting on this repository's security advisories page. Do not open a public issue for a vulnerability. If a finding concerns the TAP protocol itself rather than this documentation or a Bitcoin Universe product, report it to Trac Systems as well.