Core + full UTXO
Indexer & truth layer
What the DogeSoft production indexer proves for bridge deposits — UTXOs, DRC-20, inscriptions, Standard v1.
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
| Dataset | Why bridge cares |
|---|---|
| Full UTXO set | Every spendable output — spend tracking, not address balances alone |
| Transaction graph | txid → vouts, scripts, values, confirmation height |
| Inscription envelopes | Commit / reveal / move per Standard v1 |
| DRC-20 state | Tick, amount, deploy/mint/transfer ops, current carrier ownership |
| Doginals / media | Content types, collection metadata (ecosystem consistency) |
| Reorg-aware confirmations | Promotion only after safe depth — same logic as wallet sends |
| Mempool / tip monitoring | Pending visibility before confirm (where enabled) |
| Bridge-tagged flows | BRIDGE_L1_RELEASE and deposit envelopes classified in Explorer |
How this proves a bridge deposit
For DRC-20 deposits, verification is outpoint-level:
- Identify the custodian-funded
txid:vout. - Hash the funding output's
scriptPubKey(binds mint to exact output). - Hash OP_RETURN payload (binds mint to DRC-20 transfer envelope).
- Match tick + amount against indexed DRC-20 state on the carrier UTXO.
- Wait for Core depth ≥ on-chain
l1ConfirmationsRequired. - 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.