TAP on DogeBitcoin Universe

Operational reference

TAP on Doge reference

What the words mean, how an indexer must behave when the chain is uncertain, what bytes cost on a chain with no witness discount, what this protocol does not do, and what you must decide explicitly if you implement it.

Terminology

Terms used across this documentation. The same terms are used on the TAP on Bitcoin site, so a reader moving between them is not learning two vocabularies.
TermMeaning on Dogecoin
DoginalsThe inscription layer on Dogecoin. Content lives in push data in the signature script of input 0, not in a witness.
EnvelopeThe push data sequence that carries an inscription: the literal ord, a piece count, a content type, then countdown and chunk pairs.
Piece countThe number of body chunks the envelope declares. It counts down to zero as chunks are read, possibly across several transactions.
Partial inscriptionA reveal chain that ended before the count reached zero. It is not a truncated inscription; it is no inscription.
TappingSending an inscription from the address that holds it back to that same address. TAP's approval step.
Available balanceThe part of an address's holding that can be spent by inscribing a new transfer or by a tapped send.
Transferable balanceThe part parked in live transfer inscriptions.
Total balanceAvailable plus transferable.
Transfer inscriptionAn inscription whose content is a valid token-transfer. Live until sent, consumed afterwards.
ConsumedA transfer inscription that has been sent and credited. It can never move tokens again.
Privilege authorityA signing party named by a deployment's prv field, which decides who may mint.
Token authorityA signing party that issues redeem messages moving authorised tokens, with its logic kept off chain.
QuarantineAn indexer state for a source row that cannot be interpreted safely yet, typically activity for a ticker whose deployment has not been observed.
CheckpointThe height and block hash an indexer has actually reached. It is not the chain tip, and the gap between the two is the number to check first.
KoinuThe atomic unit of DOGE. 1 DOGE is 100,000,000 koinu, the same ratio Bitcoin uses for satoshis.
DogemapThe Dogecoin counterpart of bitmap, indexed by the same rules with the name dogemap.

Confirmation semantics

A TAP message exists when the transaction carrying it is in a block. Before that it is a proposal. The Dogecoin difference is not the rule, it is the clock: the rule fires roughly ten times more often here.

Mempool semantics

Dogecoin's one-minute block target makes the mempool feel less important, because the wait to confirmation is short. That is a feeling, not a guarantee, and it makes the honest position here more important rather than less.

Reorg behaviour

This is where the one-minute block target changes an operational rule rather than just a wait. A rollback window measured in blocks is a much shorter window in wall clock time on Dogecoin, and a reorg of a given block depth costs less elapsed work to produce.

The recoverable rollback window on Dogecoin against the same window on Bitcoin The Bitcoin Universe Dogecoin inscription index keeps up to five savepoints taken every ten blocks, giving a recoverable rollback depth of about forty to forty-nine blocks. On Dogecoin at one minute per block that window is about forty to forty-nine minutes. The same number of blocks on Bitcoin would be about seven to eight hours. Beyond the window the index cannot roll back and must be rebuilt. SAVEPOINTS: UP TO 5, TAKEN EVERY 10 BLOCKS, ONLY WITHIN 25 BLOCKS OF THE TIP tip − 40 tip − 30 tip − 20 tip − 10 tip RECOVERABLE: automatic rollback and reindex older rebuild ON DOGECOIN 40 to 49 blocks of recoverable window is about 40 to 49 minutes. An outage longer than an hour can outlive it. THE SAME BLOCK COUNT ON BITCOIN 40 to 49 blocks is about 7 to 8 hours. The same code, a very different operational margin.
The rollback window is configured in blocks. On a one-minute chain those blocks are worth roughly one tenth the elapsed time, which changes how quickly an operator must respond.

Fees and size

Dogecoin's fee model is the part people most often carry over from Bitcoin unchanged, and it is the part where Bitcoin intuitions are most wrong in both directions.

Byte economics, side by side.
PropertyBitcoinDogecoin
Where inscription bytes liveWitness of the reveal inputSignature script of input 0
Discount on those bytesCounted at one quarter weightNone. Full rate.
Fee quoted perVirtual byteKilobyte of the whole transaction
Atomic unitSatoshi, 1e-8 BTCKoinu, 1e-8 DOGE
Large contentOne reveal transactionA chain of transactions, each paying its own fee
Dust thresholdLow in nominal unitsMuch higher in nominal units

The Bitcoin Universe Dogecoin TAP source

Bitcoin Universe reads Dogecoin TAP through a pinned immutable reader and republishes normalized batches to its explorer. These are the properties a consumer should know about, stated as the source itself states them.

Limitations

Security considerations

Implementation checklist

If you are writing or auditing a TAP on Dogecoin indexer, these are the decisions you must make explicitly. Getting one wrong produces balances that look plausible and are not reproducible.

Each row names a decision, and where the rule that governs it lives.
DecisionRequirementRule
Which input to parseInput 0 only. Ignore envelopes in later inputs.E-1
Which opcodes to acceptPush operations only. Any other opcode ends the decode.E-2
How to decode countsUnsigned little-endian, at most 8 bytes, empty push is zero.E-4
Countdown enforcementEach countdown must equal the current count minus one exactly.E-6
Multi-transaction revealsContinue into the next transaction; a mismatched first push invalidates the whole inscription.E-8
Partial revealsProduce nothing. Do not index a truncated body.E-9
Start heightDeclare the height from which you index inscriptions and never change it silently.E-11
Ticker length by height3 or 5 to 32 below block 5,487,639; 1 to 32 from it.P-7
Decimal scaleConvert without floating point. Never guess a scale for an unseen deployment.P-8
Unknown fieldsIgnore them. Do not fail, and do not infer.P-4
Address validationDogecoin base58check, version 0x1e or 0x16. Do not lowercase.I-3, I-4
TappingSame address in and out. Evaluate conditions at tapping time, not inscribing time.T-1, T-5
token-send atomicityAtomic on syntax before the tap, per item on semantics at the tap.N-3, N-4
Available versus totalEvery spending operation draws on available balance only.W-2
DMT precisionparseInt rules below block 5,497,100, precise values from it.G-4
DogemapIndex it by the bitmap rules with the dogemap name.G-5
Reorg depthState the depth you can recover from and what happens beyond it.RG-2
Reorg detectionIf your source gives no replacement notifications, say so rather than implying completeness.RG-4
Checkpoint reportingPublish indexed height, chain height, and the lag. Report an unavailable measurement as null.U-2
Mempool claimsDo not present pending activity as complete unless you have a mempool feed.MP-2
Ord wallet versionTrack announced activation heights, not the newest release.Section 8