Protocol summaryReady to implement

DogeConnect in plain terms

A plain dogecoin: QR code sends coins to an address. DogeConnect turns that moment into a signed payment request with relay feedback and wallet-grade verification.

The merchant no longer waits in the dark for block confirmation. The payer no longer sees only an address and an amount. The wallet can inspect vendor details, fixed outputs, line items, fees, and a relay contract before signing.

DogeConnect defines how a vendor sends a detailed payment request to a wallet, and how a Payment Relay validates the signed transaction before it reaches the network.

The authoritative specification lives at connect.dogecoin.org.

Mental model

QR points at request

Envelope proves intent

Relay reports progress

Three parts

The protocol has three pieces that work together, and each piece maps to a page in this debugger.

1

Payment QR codes

URIs that point at a hosted request, not just an address. dogecoin: adds dc (envelope URL) and h (relay key hash). dogeconnect: drops legacy fallback.

2

Payment Envelope

Signed JSON (version, payload, pubkey, sig) with vendor branding, line items, taxes, and the exact outputs to pay.

3

Payment Relay API

relay/pay and relay/status POST endpoints. The wallet submits a signed transaction and polls for accepted, confirmed, or declined.

How a payment moves

  1. Customer wants to buy from a vendor.

  2. Vendor software asks the Payment Relay to start a payment with itemised details.

  3. Relay returns a QR URI and payment ID.

  4. Customer scans the code. The wallet fetches the Payment Envelope from the dc URL.

  5. Wallet checks the h hash against the envelope pubkey to catch tampering.

  6. Wallet verifies the BIP-340 Schnorr signature, shows the itemised total, and asks for confirmation.

  7. Customer signs. Wallet POSTs the transaction to relay/pay.

  8. Relay validates outputs, fee, and size limits, then broadcasts to Dogecoin.

  9. Vendor hears accepted, then confirmed once enough blocks arrive. Confirmation depth is the relay's call.

What merchants get

Receipts before signing
Customer sees vendor name, logo, SKUs, tax, and fees in the wallet.
Fixed outputs
Amounts and addresses come from the signed envelope, not an editable amount field.
Earlier feedback
Relay status beats waiting to spot the transaction on-chain yourself.
Risk policy you control
Your relay sets minimum fees, max transaction size, and required confirmations.
Backward-compatible QR codes
Legacy wallets still read the embedded address and amount. DogeConnect wallets use the full payload.

What wallet and relay builders get

URI parsing
Explicit rules for dogecoin: (dc and h must appear together) and dogeconnect: schemes.
Cryptographic checks
Pubkey hash, double-SHA256 payload hash, BIP-340 Schnorr verify.
Amount encoding
8-DP string amounts so JSON floats do not eat precision.
Idempotent relay/pay
Retries must not double-charge.
HTTP semantics
400/403 permanent, 500/503 retry with backoff.

Full specification

This page is a summary. Authoritative detail lives in the official book.

Printable version: connect.dogecoin.org/print.html

Try it here

OnlyDoge DogeConnect Debugger runs locally — no live relay writes unless you opt in.