Commit, reveal, broadcast
Send pipeline & status
What actually happens after you sign a DRC-20 send: commit, reveal, index, then the automatic move.
"Send DRC-20 Coins" is really three transactions and an indexing step, orchestrated so it feels like one button press. This page walks through what happens after a user approves a send, and what's actually confirmed working versus still being hardened.
Single-recipient send
Both plain DOGE sends and single-recipient DRC-20 sends are confirmed working end-to-end in production.
- The wallet builds and signs the commit transaction, funding a P2SH output that carries the transfer envelope.
- The wallet builds and signs the reveal transaction, then broadcasts it. This is the step that actually inscribes the transfer intent on Dogecoin L1.
- The indexer confirms the reveal, decodes the envelope, and checks it against the gate: is it indexed, does the tick/amount match, does the carrier's current owner match what the wallet expects?
- The wallet has already pre-signed the move transaction that reassigns the transfer to the recipient. Once the gate passes, a pipeline worker broadcasts that pre-signed move automatically — your page doesn't need to stay open for it to complete.
Status: confirmed working. Plain DOGE send (dust, fee, change and max-balance edge cases included) and single-recipient DRC-20 send (fully automatic commit → reveal → move) are both live in production.
Reliability: a broadcaster, not a signer
The piece of server-side infrastructure in step 4 above never signs anything — the move transaction it broadcasts was already signed on-device, earlier, before it was ever handed to a server. Its only job is getting an already-signed transaction onto the network reliably, including picking the send back up and finishing it if the wallet app closed before the broadcast completed. Closing the app mid-send doesn't strand a signed transaction; it gets finished on next launch.
Batch send (many recipients at once)
Splitting one DRC-20 balance across many recipients in a single flow is a separate, three-phase process, currently available inside the wallet app only (not exposed on the injected provider — see Sending DOGE & DRC-20 Coins):
- Split — one commit + reveal inscription is built per recipient, up front.
- Gate — the wallet polls the indexer until every carrier is indexed and its tick, amount and owner all check out.
- Move — a single combined move transaction spends every carrier plus the shared fee UTXOs at once, with the same fire-and-forget server-side pipeline backup used for single sends.
Status: implemented, not independently verified under load. The batch flow is structurally complete and mirrors the proven single-send pipeline, but it doesn't yet have the same track record in production as single-recipient sends. Treat it as beta — verify results, don't rely on it for anything time-sensitive yet.
Current, ecosystem-wide picture of what's proven versus still cooking: see Ecosystem status.