Skip to main content

Your first trade

Domestic Monero matches you with a counterparty for a peer-to-peer Monero (XMR) trade against Bitcoin (BTC) BTC, Litecoin (LTC) LTC, Ethereum (ETH) ETH, Solana (SOL) SOL, or Tether (USDT) USDT. You browse or post offers, or accept one. There is no user-to-user chat.

Use only official channels

There is no separate support account, help desk chat, or third-party recovery service for Domestic Monero. Message the official bot only.

Official bot: @domestic_monero_bot — Open Mini App

BUY vs SELL​

Offer chips are the maker’s intent, not the trade Role:

  • BUY (Buying XMR) — the maker wants XMR
  • SELL (Selling XMR) — the maker sells XMR

Role: Seller always stakes XMR to the trade’s Multisig wallet address.

  • Accepting a SELL offer makes you the Buyer
  • Accepting a BUY offer makes you the Seller who stakes

If you create a SELL offer, you are the seller. If you create a BUY offer, the taker who accepts becomes the seller and stakes.

Register wallets on Profile when a gate requires them — Wallets and gates.

Telegram Mini App Offers list in light theme — P2P Monero Trades, filters, and a SELL offer card.Telegram Mini App Offers list in dark theme — P2P Monero Trades, filters, and a SELL offer card.
Offers list in the Mini App.
Same Offers screen in light theme on a wide layout — sidebar, filters, and a three-column offer grid.
Same Offers screen on a wide layout.

Suggested order​

  1. Open the official bot.
  2. Confirm Profile wallets if you will create or accept an offer that gates you.
  3. Browse Offers (filters Buy / Sell, asset, ratio) or tap create. Rate must stay within ±20% of market (asset per 1 XMR).
  4. Review the offer, then Accept Offer — or wait for optional auto-match if you enabled it.
  5. Save your trade share when the trade is created. The app will not show it again after you agree.
  6. Follow the chips below. Do not send payment until the seller has staked and the app shows the payment address.

Offer cards may show Expires in / ~1 hour. That is a remaining-time bucket, not “offers always last one hour.” Detail view uses a timestamp plus a live countdown.

Fee % appears on Create Offer preview only — Fees.

Telegram Mini App offer card in light theme — Bitcoin SELL offer with Accept Offer.Telegram Mini App offer card in dark theme — Bitcoin SELL offer with Accept Offer.
Offer card. Tap Accept Offer to open a trade.
Telegram Mini App Active Trades list in light theme — In progress filters and a Staked trade card.Telegram Mini App Active Trades list in dark theme — In progress filters and a Created trade card.
Active Trades after you accept. Open the card for trade detail.

Trade stages​

Chips in the Mini App:

Created → Staked → Payment pending → Verifying → Sending → Done (or Cancelled)

ChipWhat happens
CreatedTrade exists. Seller must send XMR to the displayed Multisig wallet address. Cancel Trade is available on this chip only.
StakedStake is in. Buyer sends the listed payment on-chain, then Submit Proof with the TX Hash.
Payment pendingWaiting on the buyer’s proof. “The seller must stake XMR before you can submit payment proof.” appears before stake.
VerifyingWaiting for the payment asset’s confirmations (count varies by asset — Payment proof and confirmations). Watch Verification deadline:. Buyer later taps Receive XMR with their trade share.
Sending“Sending XMR to your address...” The platform retries until the transfer succeeds.
Done“Trade completed” (optional TX hash).
Cancelled“Trade cancelled” plus a reason. If the seller still has stake in the trade wallet, they use Request refund, not Cancel Trade.

Cancel Trade is Created only. After Staked, that button is gone. See Cancel Trade, Cancel Offer, and /support.

Telegram Mini App trade detail in light theme — Trade #ref, Created chip, Role Seller, stake instructions; wallet address and QR blurred.Telegram Mini App trade detail in dark theme — Trade #ref, Created chip; wallet address and QR blurred.
Trade detail. Seller stakes XMR to the Multisig wallet address.

Payment and settlement​

Payment is on-chain to the address the app shows. Off-chain, exchange-internal, or private transfers cannot be verified. Confirmation counts and payment/proof timeouts vary by asset — see Payment proof and confirmations. USDT is ERC-20 on Ethereum mainnet only.

Each party saves their own trade share. The buyer later taps Receive XMR; the seller never taps Receive XMR for the buyer. After a cancel with remaining stake, the seller taps Request refund. Settlement still has to match trade state — the Service coordinates it. See 2-of-3 multisig.

If something feels wrong​

Stop. Do not send crypto to addresses from side chats. Re-check Verify official channels. For a stuck trade, read the detail screen (state + countdowns), then message /support with Trade #ref and the current chip.

Open the app

Last updated: 21 September 2026.