L1 ↔ DogeOS L2
Bridge
Lock DRC-20 on Dogecoin L1, mint on DogeOS — Core-backed indexer proof, M-of-N attesters on-chain.
Bridge moves DRC-20 Coins between Dogecoin L1 and DogeOS, an EVM-compatible L2. It is lock-and-mint outward and burn-and-release back — settled by a multi-attester smart contract on DogeOS, not a single hot-wallet approver.
Every deposit is verified against Dogecoin Core plus the DogeSoft production indexer (full UTXO set, inscriptions, DRC-20 state) before any wrapped token is minted. Wallet, Explorer, AMM, Inscriber, and Bridge all read the same ledger.
DogeSoft · dogesoft.io · bridge.dogesoft.io
Why this bridge is different
Most bridges bolt a lock-mint contract onto someone else's block explorer API. DogeSoft runs the full Doginals stack underneath:
- Dogecoin Core — raw transactions, confirmations, block height (milliseconds behind tip).
- Production indexer — every spendable UTXO, inscription envelopes, DRC-20 tick/amount/ownership, reorg-aware depth.
- Inscription Standard v1 — same parse rules in indexer, inscriber, wallet, and bridge release flows.
- DogeOS bridge contract — M-of-N attester signatures, replay IDs per
txid:vout, timelock, rate limits, pause.
There is no second production-grade Doginals/DRC-20 indexer with this depth shipping wallet + explorer + bridge + inscriber today. Third parties can implement Inscription Standard v1; DogeSoft operates the reference production index integrators build on.
See What the indexer proves and Attesters & co-signers.
The two directions
DOGE_L1 → DOGEOS_EVM
Deposit
User sends a DRC-20 transfer (OP_RETURN + dust) to bridge custody on L1. Core + indexer verify the specific outpoint, tick, amount, and confirmations. Registered attesters co-sign; the bridge contract mints wDRC-20 on DogeOS.
DOGEOS_EVM → DOGE_L1
Withdraw
User burns wDRC-20 on DogeOS. After burn confirmation, the custodian broadcasts an L1 DRC-20 release
via the inscriber (BRIDGE_L1_RELEASE envelope) back to the user's
Dogecoin address.
How a deposit is verified
User-facing copy can stop at “wait for confirmations.” Operators and partners should know the full gate stack — the same UTXO / DRC-20 discipline as wallet sends and AMM deposits.
1. Session & L1 lock
The user opens a bridge session (amount, tick, chains, addresses) in the bridge UI, then broadcasts a normal Dogecoin DRC-20 transfer into bridge custody. Envelope metadata classifies the intent as a bridge deposit.
2. Outpoint-level proof (not “balance went up”)
The indexer tracks the specific UTXO created by the lock:
- Outpoint
txid:vout— one mint per outpoint (on-chain replay guard). - Value,
scriptPubKeyhash, and custodian destination match. - OP_RETURN DRC-20 envelope: tick, amount, transfer semantics.
- Carrier / inscription linkage and DRC-20 ownership against the production indexer state.
3. Stacked gates before mint
| Gate | Source |
|---|---|
| Core confirmation depth | Dogecoin node + on-chain l1ConfirmationsRequired |
| Indexer agreement | DogeSoft production index confirms tx height, decode, and spendability |
| Asset match | Session tick/amount vs indexed DRC-20 state on the carrier UTXO |
| Attester threshold | M-of-N registered signers on DogeOS (see Attesters) |
4. Mint digest binds L1 evidence
Attesters sign an EIP-191 digest that includes l1TxHash,
l1Vout, ticker, amount, txOutScriptHash,
opReturnHash, block height/hash, and reserve attestation. The DogeOS
contract's mintFromL1Tx(request, signatures[]) enforces the threshold and
rejects duplicate outpoints. No single key can mint alone.
How a withdrawal is verified
- User burns wDRC-20 on DogeOS (bridge UI).
- L2 burn is verified on-chain (receipt, Transfer → zero address).
- Custodian broadcasts L1 DRC-20 via inscriber with
flow: bridge_l1_releasetagging. - Indexer labels the release; user receives coins on Dogecoin L1.
Contract-level burnForRelease / attested
settleRelease paths are part of the on-chain design; production rollout
follows the phased transparency roadmap in Transparency.
On-chain contract model (DogeOS)
Rules live on the DogeOS EVM bridge contract, not on Dogecoin L1 (Dogecoin has no bridge smart contract). Anyone can read parameters from chain — see Transparency & verify.
| On-chain capability | Purpose |
|---|---|
mintFromL1Tx | Mint wDRC-20 after M-of-N attester signatures |
burnForRelease / settleRelease | Withdraw lifecycle with attested settlement |
attesterThreshold / isAttester | Public M-of-N signer set |
l1ConfirmationsRequired | Minimum L1 depth before mint |
l1CustodianAddress | Published L1 custody destination |
processedL1Deposit | Replay guard per txid:vout |
| Timelock + rate limits + pause | Governance-gated guardrails on releases and tokens |
Embed & open ecosystem
Goal: any site or dApp can embed DogeSoft Bridge and AMM the same way they embed the wallet — iframe +
window.dogesoft signing. Builder onboarding, contract ABIs, and attester
partnership slots are documented under
Transparency and
Launch for builders as those surfaces open.
Today: use the hosted bridge at bridge.dogesoft.io and the wallet for signing. Next: published embed kit + open-source bridge contracts (MIT) + partner co-attester program.