All systems operational
Support
EN
Language

More languages are on the way.

Paying with Monero: what happens between your wallet and your balance

Subaddresses, the ten-block rule, why an XMR deposit shows “confirming” for about twenty minutes and what to do if you sent slightly too little.

CBCheapServ BillingWritten by 6 min read
A coin passing through a tunnel of light
On this page7
  1. Step one: a unique subaddress
  2. Step two: the amount is fixed for 30 minutes
  3. Step three: “confirming”, and why it takes about twenty minutes
  4. Sent slightly too little
  5. What we can and cannot see
  6. Wallets that work well
  7. When something looks wrong

Monero is the second most used coin on CheapServ after USDT, and the one that generates the most support questions, almost all of them the same two: “why does it say confirming for so long?” and “I sent slightly too little, is it gone?”. Neither is a problem, but both deserve a proper explanation of what happens between your wallet and your balance.

Step one: a unique subaddress

When you open a top-up and pick Monero, our payment provider derives a fresh subaddress for that deposit from a view-only wallet. Subaddresses are a Monero feature designed for exactly this: each one is unlinkable to the others on-chain, so nobody looking at the blockchain can tell that two deposits went to the same merchant, let alone which customer sent them. The private spend key is not on the server that shows you the address; it only holds the view key needed to notice incoming funds.

The address starts with 8, which surprises people used to seeing a 4. Both are valid Monero addresses; 8 simply marks a subaddress. Your wallet will accept it.

Step two: the amount is fixed for 30 minutes

The page shows an XMR amount computed from the dollar value at the moment the address was created. That rate is locked for 30 minutes: whatever the market does in that window, paying the shown amount credits the full dollar value. We explain the reasoning behind the window in a separate post. The short version is that Monero's ten-block confirmation time and exchange spreads make a shorter lock unfair to you and a longer one unfair to us.

Wallets show fees separately, so the amount that leaves your wallet is the shown amount plus a network fee of a fraction of a cent. Do not subtract the fee from the amount; send exactly what the page shows.

Step three: “confirming”, and why it takes about twenty minutes

As soon as your transaction reaches the network's mempool, the deposit page switches to confirming and shows the transaction ID. The balance is not credited yet. Monero blocks arrive roughly every two minutes, and we credit at ten confirmations, so the typical wait is 18 to 24 minutes. Occasionally a block takes longer and the wait stretches to half an hour; that is the network, not us.

Why ten? Monero has no chargebacks, but it does have reorganisations: short forks where the last block or two are replaced. Ten blocks is the depth exchanges use for the same reason, and it is the depth at which a wallet marks funds spendable. We would rather be twenty minutes slower than credit a deposit that later vanishes from the chain.

You do not need to keep the page open. The provider pushes the status to us as it changes, the balance appears automatically at the tenth confirmation, and any order that was waiting for that balance is paid and provisioned in the same second. If you close the tab, the top-up stays listed under Billing with its current status.

Sent slightly too little

This happens most often when a wallet deducts the network fee from the amount entered, or when someone rounds. The deposit is not lost. The page switches to underpaid, shows how much arrived and how much is missing, and the address stays valid. Send the missing amount to the same address; once the total reaches the locked amount and confirms, the deposit completes normally. If the 30-minute lock has expired by then, the remainder is valued at the rate of the moment it confirms, which in practice moves the total by a few cents either way.

Overpaying is simpler: the extra is credited to your balance at the same rate. Nothing is kept.

What we can and cannot see

We see that a payment arrived at a subaddress we generated, its amount and its transaction ID. We do not see your wallet address, your balance or your other transactions; Monero's ring signatures and stealth addresses hide the sender by design. On our side, the deposit is linked to your account only in our own database, in the same way as any other top-up. The provider and the hub that relays payment statuses see the same three facts and nothing more.

Wallets that work well

  • Monero GUI or CLI with your own node, or a remote node from the built-in list, is the reference. Scanning the QR code fills the address and amount.
  • Cake Wallet and Monerujo on mobile both handle subaddresses and the monero: URI scheme the QR code uses.
  • Feather Wallet on desktop is lightweight and supports the same URI.
  • Exchanges work but are slower: withdrawals are batched and some exchanges hold Monero withdrawals for manual review. Pay from a wallet you control when you are in a hurry.

When something looks wrong

If the page still says pending twenty minutes after your wallet reports the transaction as sent, check the transaction on a Monero block explorer using the ID from your wallet. If the explorer shows it, our provider will pick it up within a minute of the tenth block; if the explorer does not, the transaction never left your wallet, usually because a remote node rejected it, and rebroadcasting it from the wallet fixes it. If the ID is on the explorer with ten confirmations and the deposit is still not complete an hour later, open a ticket with the ID and the top-up reference from Billing; we credit manually the same day.

CB
CheapServ Billing

Owns the balance model, the deposit flow and the coin integrations.

Deploy your first server in under a minute.

Top up from $25 in BTC, ETH, XMR or USDT. Your balance never expires and unused funds are refundable.

Sign up now