DOGE Connecting

Docs / Cross-chain / Indexer & truth layer

Core + full UTXO

Indexer & truth layer

What the DogeSoft production indexer proves for bridge deposits — UTXOs, DRC-20, inscriptions, Standard v1.

Live

The DogeSoft bridge does not trust a balance API. It verifies deposits against a full Dogecoin indexer fed directly from Dogecoin Core — the same production ledger that powers Explorer, Wallet, AMM, and Inscriber.

Core-first, not API-second

The indexer follows the chain tip from Dogecoin Core with minimal lag (typically milliseconds behind the node). Bridge L1 verification calls Core for raw transactions, block height, and confirmation depth, then cross-checks indexer hydration for agreement on tx decode and depth.

What the production indexer maintains

DatasetWhy bridge cares
Full UTXO setEvery spendable output — spend tracking, not address balances alone
Transaction graphtxid → vouts, scripts, values, confirmation height
Inscription envelopesCommit / reveal / move per Standard v1
DRC-20 stateTick, amount, deploy/mint/transfer ops, current carrier ownership
Doginals / mediaContent types, collection metadata (ecosystem consistency)
Reorg-aware confirmationsPromotion only after safe depth — same logic as wallet sends
Mempool / tip monitoringPending visibility before confirm (where enabled)
Bridge-tagged flowsBRIDGE_L1_RELEASE and deposit envelopes classified in Explorer

How this proves a bridge deposit

For DRC-20 deposits, verification is outpoint-level:

  1. Identify the custodian-funded txid:vout.
  2. Hash the funding output's scriptPubKey (binds mint to exact output).
  3. Hash OP_RETURN payload (binds mint to DRC-20 transfer envelope).
  4. Match tick + amount against indexed DRC-20 state on the carrier UTXO.
  5. Wait for Core depth ≥ on-chain l1ConfirmationsRequired.
  6. Require indexer agreement on tx presence and confirmations (skippable only in dev via operator flag).

This is stricter than “custodian balance increased.” Two different deposits cannot replay the same outpoint — enforced off-chain in the operator gate and on-chain in processedL1Deposit.

L1 release (withdraw)

After L2 burn, custodian broadcasts a DRC-20 transfer via Inscriber with ds.flow = bridge_l1_release. The indexer indexes that payout like any other Standard v1 transfer — Explorer shows it; no second parsing stack.

One truth layer across products

Same indexer interpretation in:

  • Explorer — human-readable chain browse
  • Explorer API — integrator reads (public REST)
  • Wallet + extension — balances, sends, DRC-20
  • AMM — pool state and swap settlement inputs
  • Bridge — deposit gates and release labeling

There is no competing production Doginals indexer with this vertical integration today. Others may run nodes and implement Standard v1; DogeSoft ships the reference production index that users and apps already depend on.

Wrapped DRC-20 and “canonical L1”

wDRC-20 on DogeOS represents DRC-20 locked in custodian UTXOs as interpreted by the DogeSoft reference indexer under Standard v1 — the same interpretation the wallet already shows. We do not claim every third-party indexer would parse identical DRC-20 edge cases — we claim one consistent, Core-backed, production index across the entire DogeSoft stack.

Wallet dual-indexer note

The mobile wallet may merge a live tip indexer with the archival explorer index for display balances. Bridge deposit verification uses the archival explorer index + Core for deterministic proof. Wallet and bridge stay aligned on tick, amount, and ownership semantics via Standard v1.