Convert Monero to USDC
Sell XMR from your own Monero wallet for native USDC on Arbitrum One. No KYC, no account, no wallet connection: paste an address, send one deposit, track the order.
At a glance
| You send | XMR on the Monero network, from a wallet you control |
|---|---|
| You receive | Native USDC on Arbitrum One (chain ID 42161), contract 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| Account or KYC | None: no account, login, identity documents or wallet connection |
| Fees | Swapper's fee (currently 1%) and the provider's fees are inside the quoted rate; only the Monero network fee comes on top |
| Minimum | The provider's minimum swap value, shown on the quote as Minimum swap |
| Time | Monero needs about 10 confirmations (~20 min) before the swap runs, so XMR to USDC often takes 30-60 minutes end to end |
| Who holds the funds | Never Swapper: the provider holds your XMR only while the swap executes |
What you need
- XMR in a Monero wallet you control, not on an exchange account (see mistakes to avoid).
- An EVM address you control on Arbitrum One (0x + 40 hex characters). Any wallet that supports Arbitrum One works. If the address is a smart-contract wallet (a multisig, for example), make sure it exists on Arbitrum One too.
Receiving USDC costs you no gas. To move the USDC later you will need a little ETH on Arbitrum One for gas.
How to convert Monero to USDC, step by step
- Get a quote. Open the swap app, choose XMR → USDC and enter how much XMR you want to sell. The quote shows the rate, Swapper's fee, the provider's minimum swap and a typical time. The USDC amount already has every fee taken out, but it is an estimate, not a guarantee: the final amount is set when the swap runs.
- Paste your Arbitrum One address. Enter the 0x address that should receive the USDC, an address you control on Arbitrum One. Check it character by character: a payout sent to the wrong address cannot be reversed.
- Get the deposit address. Press Get deposit address. Swapper opens the order with the provider and checks it against your quote before it shows a one-time Monero deposit address, the exact XMR amount and an expiry time, and only while at least 10 minutes remain. Keep the order ID (ord_...). Nothing has moved yet.
- Send the exact XMR. From your own Monero wallet, send exactly the amount shown, in one transfer, before the expiry. Your wallet adds the Monero network fee on top. Never send a second deposit to the same address.
- Wait for confirmations and the payout. Monero needs about 10 confirmations (~20 min) before the swap runs, so XMR to USDC often takes 30-60 minutes end to end. The order shows completed when the provider reports the USDC sent.
- Check the USDC arrived. Open your address on arbiscan.io or in your wallet (on the Arbitrum One network) and look for the USDC transfer. If your wallet does not list it, add the token by its contract address, 0xaf88d065e77c8cC2239327C5EDb3A432268e5831.
Fees: what comes out of your XMR
The USDC estimate on the quote is already net of fees. It is made of:
- Swapper's integrator fee, currently 1%, inside the quoted rate. The quote shows it as Fee.
- The provider's own fees, also inside the rate, itemized only when the provider reports a breakdown.
- The Monero network fee, which your wallet adds on top of the deposit amount when it sends the XMR. This is the only cost outside the quote.
There is no account fee, subscription or withdrawal fee. The estimate is not a guarantee: the provider publishes no minimum receive amount, and the final amount is set when the swap runs.
Minimum amount
The swap provider sets a minimum swap value in US dollars. The quote shows it as Minimum swap (in the asset you send and in dollars), and the app does not create an order below it. Developers read it from each quote (terms.minimumSwapUsd) or from GET https://xmrtousdc.xyz/api/v1/chains (minSwapUsd).
How long it takes
Monero needs about 10 confirmations (~20 min) before the swap runs, so XMR to USDC often takes 30-60 minutes end to end. The provider waits for the confirmations before it swaps and sets their exact number. While you wait, the order moves from waiting for your deposit to deposit detected, then processing, then completed. If you already sent the XMR, do not send again: detection can take several minutes. Every state is explained in How it works.
Mistakes to avoid
- Send the exact deposit amount in a single transfer before expiresAt; the network fee comes on top.
- Send from a Monero wallet you control. Exchange withdrawals often deduct a fee from the amount, so the deposit would arrive short; withdraw to your own wallet first.
- Never reuse an old deposit address: every order has its own, and it expires.
- The same 0x address exists on Ethereum mainnet and on Arbitrum One, but the USDC arrives on Arbitrum One only: switch your wallet to Arbitrum One to see it.
Let an AI agent do it
Connect an MCP client such as Claude, ChatGPT or Cursor (setup in one line) and ask: "Swap 0.5 XMR to USDC, paid out to 0xYOUR_ARBITRUM_ADDRESS." Or start the prompt swap_xmr_to_usdc. The agent quotes, opens the order and gives you the exact deposit to send; an agent with its own Monero wallet can also pay it, once, while the order is payable. Building it into an app or a bot? See the Monero swap API.
Questions
Can I convert Monero to USDC without KYC?
Yes. No account, login, identity documents (no KYC), API key or wallet connection: you only provide the address that receives the swap. The swap provider (Wagyu) applies its own screening, which Swapper cannot check. Not available in restricted regions, including the US.
How much does converting XMR to USDC cost?
Swapper earns an integrator fee that is already included in the quoted rate (currently 1%; every quote shows it). Nothing is added on top of the quote apart from the network fee for sending the deposit. For XMR to USDC that network fee is the Monero fee your wallet adds when it sends the deposit. The provider's own fees are also inside the rate. Receiving USDC on Arbitrum One costs you no gas.
What is the minimum amount of XMR I can swap?
The swap provider sets a minimum swap value in US dollars. The quote shows it as Minimum swap (in the asset you send and in dollars), and the app does not create an order below it. Developers read it from each quote (terms.minimumSwapUsd) or from GET https://xmrtousdc.xyz/api/v1/chains (minSwapUsd).
How long does Monero to USDC take?
Monero needs about 10 confirmations (~20 min) before the swap runs, so XMR to USDC often takes 30-60 minutes end to end. The provider sets the exact number of confirmations.
Which USDC do I receive?
Native USDC issued by Circle on Arbitrum One (chain ID 42161, contract 0xaf88d065e77c8cC2239327C5EDb3A432268e5831). Swapper does not pay out on Ethereum mainnet or any other network, and never in bridged USDC.e.
Can I send the XMR straight from an exchange?
Avoid it. Exchange withdrawals often deduct a fee from the amount, so the deposit would arrive short of the exact amount. Withdraw to a Monero wallet you control first, then send the exact deposit from there.
Will I receive exactly the amount quoted?
Not necessarily. The quote is an estimate: the provider publishes no minimum receive amount, and the final amount is set when the swap runs. The quote already includes every fee; the only cost outside it is the network fee for sending the deposit.
Does Swapper hold my Monero?
No. Swapper never holds your funds. Each order gets a one-time deposit address from the swap provider, which holds the deposit only while the swap executes, then pays out (or refunds).
Related: XMR to USDC, the short version · Arbitrum One network details · USDC to Monero · FAQ. Something went wrong? Email support@xmrtousdc.xyz with your ord_... order ID.