List an item
Zero listing fees, zero sale fees. Buyers pay your DOGE address directly. Stored in this browser only (prototype). Keep a copy in My data. New here? Seller onboarding · Field-test kit.
My listings
Signed listings show buyers a "Verified by seller's wallet" badge. Open My storefront for a single signed index you can share on 𝕏.
Order encryption key
Buyers encrypt their contact and shipping details to this key, so X, explorers and anyone who sees the DM only see scrambled text. The private half never leaves this browser. It is not a wallet key: it can't spend DOGE, and Doge Commerce never asks for your wallet keys or seed phrase.
Seller inbox
When a buyer DMs you an order, paste their whole message here. Your browser matches it to one of your listings on this device, then asks a public block explorer whether that transaction really paid you. Nothing is uploaded: the inbox, including the buyer's details, lives only in this browser.
Open a storefront link (#s= or #seller/) to see a seller's signed shop and reputation.
My orders
Kept on this device only (localStorage). Payments here are simulated.
Paste a shipped receipt or cancel
When the seller ships or cancels, they send a message with DCSHIP1:/DCSHIP2:, DCMSG1: or DCCANCEL1:. Paste the whole message here (or anywhere on this page). Your browser checks signatures and decrypts sealed tracking/notes with your reply key. Nothing is uploaded.
Printable mirror: FIELD-TEST.md · Hosting: HOSTING.md · Wallets: WALLETS.md.
Buy. Sell. No Waste.
Doge Commerce is a lean marketplace for buying and selling with Dogecoin. Buyers pay sellers directly, wallet to wallet. No escrow, no middleman, no platform fee.
Zero fees
We take nothing from listings or sales. The only cost is the Dogecoin network fee, which goes to the network rather than to us.
Non-custodial
We never hold your coins. We never ask for a private key or seed phrase, and you should never give one to anyone. You only share a public receiving address.
Signed shipped receipts & cancels
When a seller ships or cancels, they sign a short note with the same wallet that signed the listing and send it in your 𝕏 DM. Paste it into My orders: your browser checks the signature and that it matches your payment. It proves the seller says they shipped; only the carrier can confirm delivery.
Your data, your device
- No accounts and no sign-up.
- Your wallet address, listings and orders are stored locally in your browser.
- We have no server and keep no database. Clear your browser data and it's gone. It stays with YOU.
- One exception, only while you're paying: after you press I've sent it, this page reads the public Dogecoin blockchain from a block explorer (Dogechain, with BlockCypher and Bitcore as fallbacks) to spot your payment to the seller's public address. These are read-only lookups of public data, made about every 30 seconds and paused when the tab is hidden. They stop when the order is paid or you stop watching. For listings with per-order addresses, opening the checkout also makes a few read-only lookups to pick an unused address (see below). No keys, no funds, no account. Sellers checking an order in Seller inbox make the same kind of read-only lookup, only when they press Check. Browsing, selling and sharing make no outside requests at all.
- Your listing travels in the link itself. Share links carry the listing in the part after
#, which browsers never send to any server. No database, no tracking. - Because anyone can make a link, shared listings are marked unverified. Confirm the seller's address with them before you pay.
Signed listings
Sellers can sign a listing with the wallet that receives payment (in Dogecoin Core: File > Sign message). The signature travels in the link, and every buyer's browser checks it locally against the payout address.
- What a signature proves: whoever controls the payout address published exactly this listing (title, price, address and the rest). Change one character and it fails.
- What it does not prove: that the item exists, that the seller is honest, or who the seller is. A scammer can sign their own listing with their own wallet.
- A listing whose signature fails is shown in red with payment disabled. Unsigned links stay marked unverified.
- We never ask for your private key or seed phrase. You sign in your own wallet and paste only the signature.
Payment detection
Each checkout adds a tiny unique tag to the price (for example Ð123.5 becomes Ð123.5037). Your browser watches the seller's address for a payment of that exact amount, then counts confirmations: seen in the mempool (not final yet), then 1 to 6 confirmations, then paid.
- The explorer is trusted to report the chain honestly, and free explorers have rate limits. Sellers should always check their own wallet before they ship.
- Tags are unique per device, not globally. Two buyers could pick the same amount by chance, so check with the seller if anything looks off.
- Demo listings never touch the network: their confirmations are simulated and labeled as such.
Per-order addresses (optional, from an xpub)
A seller can add the extended public key (xpub or dgub) of a Dogecoin wallet account. Each checkout then gets its own receive address derived from it, and the buyer pays the exact listing price with no amount tag. Payments land in the seller's normal wallet like any other.
- How the address is picked: your browser asks a block explorer which of the account's receive addresses have been used, then picks one at random among the next 19 unused addresses. That keeps it inside the 20-address window wallets scan, so the seller's wallet sees the payment. These are read-only lookups made when you open the checkout, usually 1 to 3 of them. If the explorer can't be reached, the checkout falls back to the plain address with an amount tag.
- Rare overlaps: with no server, two buyers checking out at the same moment on different devices can draw the same address (about 1 in 19 for two overlapping checkouts). No money is lost, since both payments still reach the seller. If a second payment arrives at an order's address, the order says so and asks you to check with the seller.
- Paid means one payment of at least the price. Anything smaller shows as a partial payment. Settle the difference with the seller.
- Privacy: an xpub reveals every address of that wallet account to anyone with the link. Sellers should use a dedicated account for sales. We only ever take public keys. Private keys (xprv, dgpv) and seed phrases are refused and never stored.
Sending your order to the seller (X DM)
Once your payment shows up on the blockchain, the checkout offers Send order to seller. It builds an order note (item, price, transaction, plus any contact or shipping details you add) and opens a Direct Message to the seller on X with that note filled in. Nothing is sent automatically: you read it and press send in X yourself. We use plain x.com links only: no X API, no X SDK, no X login on this site.
- Your details stay out of public posts. Contact and shipping details only ever go into your private DM. They are never stored by Doge Commerce, and they are kept on your device only if you tick Remember on this device (off by default). Sharing a purchase on 𝕏 never includes them.
- X DMs are not end-to-end encrypted unless you and the seller use X's encrypted chat. Share only what the seller needs, for example a pickup point or PO box rather than your home address when that works.
- The seller's handle is self-declared. On a verified listing, the handle was signed by the payout wallet: that proves the wallet owner claimed it, not that X confirmed who owns the account. Check the profile looks right before you send.
- X's DM link needs the seller's numeric user id. If a seller gave only a handle, copy the order note and send it from their profile.
- Sellers paste the note into Seller inbox (under Sell). Their browser matches it to their own listing and checks on the public blockchain that the transaction paid their address at least the price, with its confirmations. A paid transaction proves the payment, not who sent the DM, so each transaction can be claimed by one order only.
Backups (My data)
Because everything lives in your browser, My data lets you export it to one file and import it on another device or after clearing your browser. It runs entirely on the page: no upload, no server, no network request.
- What's in it: your connected wallet's public address, your listings (with signatures, xpub, X handle and photo hashes), listing photo blobs when present, listings you saved, your orders and their payment-watch state, your seller inbox with shipped marks, order encryption keys and buyer reply keys (only in a passphrase backup), and your remembered buyer details only if you ticked Remember. Never a wallet private key or seed phrase: there are none, and every export and import checks for anything key-shaped outside the sealed key sections.
- Encryption (optional): with a passphrase, the file is sealed with AES-GCM using a key stretched by PBKDF2-SHA256 (600,000 rounds, random salt). A forgotten passphrase cannot be recovered. A plain file can be read by anyone who opens it, including order and possibly shipping details.
- Checks on import: size cap, format and version, a SHA-256 checksum, then every record on its own: listing addresses and signatures are re-verified, order notes re-checked. Anything that fails is skipped and listed. You see a preview before anything changes, and a failed import changes nothing.
- Merge or replace: merging adds what's new and matches duplicates by listing ID, order id and transaction id (the newer copy wins, verified signatures and shipped marks are kept). Replace everything wipes this browser's data first and asks you to type REPLACE.
- After you publish a listing or an order is paid, a small reminder suggests a backup if you haven't made one in 7 days.
Seller storefront & reputation
A public seller page at #seller/ADDRESS (or a signed #s= / DCSTORE1: link) shows the seller's 𝕏 handle, a compact signed index of their listings (latest revisions, sold/expired states), and optional featured buyer reviews. Reputation uses on-chain payments with 6+ confirmations plus reviews the seller chose to feature — no accounts, no server we run. Buyer addresses are never shown. Share on 𝕏 opens the compose intent and never auto-posts.
Buyer reply key & private notes
At checkout (when the listing carries an order encryption key), the buyer's browser makes a reply key just for sealed messages back. Its public half rides inside the encrypted DCORDER2 contact blob; the private half stays in this browser and in passphrase backups (schema 4). Sellers can then encrypt tracking numbers (DCSHIP2) and short two-way notes (DCMSG1) to that key with the same ECIES used for order details. Older orders without a reply key keep plain DCSHIP1 tracking, with a clear note. Nothing is auto-sent; paste into 𝕏 DM yourself.
Listing photos
Sellers can attach 1–4 photos from the phone camera or gallery. Each photo is compressed in the browser (canvas redraw strips EXIF/GPS; WebP or JPEG, about ≤100 KB, max ~1200px) and stored only on this device (IndexedDB) and in passphrase backups. The signed listing link carries SHA-256 hashes (and optional https image URLs, e.g. from an 𝕏 post) — never the image bytes. Buyers see thumbs when a URL is present, can swipe a gallery on phones, and can drop a file to verify it matches a signed hash. Share on 𝕏 offers download / Web Share with files where supported; nothing is auto-posted.
Field test & onboarding
Before going live, run the field-test kit on your phones (Safari/Chrome and inside X): diagnostics, a tiny 1–2 DOGE test sale script, and a copyable report with no private keys. New sellers can walk through seller onboarding on the Sell page. Phones need an https URL — see HOSTING.md.
Coming soon
The app on 𝕏, with one-tap sharing of listings.
Prototype: demo listings, their addresses and their confirmations are simulated. Real listings are checked against the real Dogecoin blockchain.
Back up and restore
Everything Doge Commerce knows lives in this browser. Export it to one file to keep a copy or move it to another device. Export and import run entirely on this page: nothing is uploaded and no network request is made. New seller? Seller onboarding · Field-test kit.
Export
Your backup as text. Copy it into somewhere private (a notes app or a file). To restore, paste it under Import, Paste backup text.
Never contains a private key or seed phrase, because Doge Commerce never has one. Each export is checked for anything key-shaped and refused if one ever turns up.
Import
Paste backup text instead
Encrypted
Every file is checked before anything changes: format and version, checksum, then each listing's address and signature and each order note. You see a preview first. Merging never deletes anything here; replacing needs a typed confirmation.

