USDT to XMR and Back: What a Round Trip Costs
1,000 USDT into monero and straight back returned 979.18 USDT: 2.08% gone, with both quotes inside 0.13% of spot. At 100 the same round trip lost 13.49%, and at 16,000 it lost 3.15% - measured 5 November 2026 at 06:03 UTC.
At 06:03 UTC on 5 November 2026 we asked the quote endpoint the same question twice in a row: 1,000 USDT-TRC20 into monero, then that monero straight back into USDT-TRC20. The first leg returned 1.55633 XMR, the second returned 979.18 USDT. Nothing was sent on-chain and no order was placed; the two quotes were taken inside the same minute. A 1,000 dollar ticket came back as 979.18, so 2.08% disappeared between two prices that both looked reasonable. We ran the same test at 500, 1,000 and 5,000 and got 2.15%, 2.08% and 2.03%. At 100, it returned 13.49%. (XMR to USDT exit)
The two quotes bracket spot almost perfectly. The entry leg implied 642.54 dollars per monero against a spot of 635.01, a 1.19% markup; the exit leg implied 629.16, a 0.92% markdown. Their midpoint is 635.85, which is 0.13% from the market. That number matters more than the 2.08%: the corridor is not mispriced, it is priced twice. A pool buys monero a little below market and sells it a little above, and on a round trip you pay both sides of that. Calling it a fee would be wrong, and calling it slippage would be wrong too - nothing moved while we asked. (how Monero fees work)
The 100 dollar tier is a cliff, not a slope. 100 USDT bought 0.13798923 XMR, which implies 724.69 dollars per monero - 14.12% over spot. The response carried two tells: routes was 1 and validUntil held a timestamp, meaning the locked-rate tier, while every quote from 500 to 15,000 came back with routes 2 and validUntil null. Back-solving against the two-route slope of 0.00155774 XMR per USDT (641.95 dollars per XMR) gives 100 minus 0.13798923 divided by 0.00155774, or 11.42 dollars of flat premium. The exit leg was ordinary at 626.93, so the two legs added up to 13.49%, or 13.49 dollars on a 100 dollar ticket. (XMR to USDT exit)
Decompose it and the picture gets clearer. Above the threshold the entry leg is out = (amount - 0.62) x 0.00155774, and the exit leg is out = 629.379 x XMR - 0.339. On a 1,000 dollar ticket the fixed charges on both legs total 0.96 dollars, and the remaining 19.86 dollars is spread. On 5,000 the fixed part is still 0.96 while the spread is 100.43. This is counter-intuitive but it is what the fits say: at normal sizes the fixed fee is not what makes a round trip expensive, the two-sided spread is. Fixed cost only dominates at the very bottom - 19 USDT still quotes, but at 1,530 dollars per XMR, and 0.0005 XMR on the way back is rejected outright. (XMR to USDT exit)
The bitcoin corridor repeats the same shape, so this is not a stablecoin artifact. 0.005 BTC, about 401.83 dollars, bought 0.625039 XMR and came back as 0.0048854 BTC, about 392.63 dollars: minus 2.29%. At 0.05 BTC it was minus 2.13%, at 0.5 BTC minus 2.11%. The midpoint of the two legs was 635.52, or 0.08% above spot. The 2% band belongs to the monero corridor itself, not to the asset you enter with - which makes sense, because the pool's inventory and its risk sit in monero, and the other side is just the thing it is being quoted against. (XMR to USDT exit)
The ceiling makes it worse, and it fails in a way that is easy to miss. At 15,000 USDT the quote still had two routes and a null validUntil, returning 23.365197 XMR at 642.08 dollars per monero. At 16,000 it flipped to one route with a timestamp and returned 24.77478663 XMR at 645.82, a 1.70% markup. The exit leg on those 24.77 XMR priced at 625.47, a 1.50% markdown, so the round trip went from 2.08% to 3.15% - 504.03 dollars on a 16,000 dollar ticket. The second pool's per-order ceiling on this corridor sits between 15,000 and 16,000. The floors are asymmetric too: the reverse minimum is 0.02811338 XMR, about 17.86 dollars, while 0.0005 XMR is refused. (XMR to USDT exit)
Fees are not the story, which is the part most people get wrong. The monero node we queried publishes four tiers, 20,000, 80,000, 320,000 and 4,000,000 piconero per kilobyte; a two-input, two-output transaction of about 1,534 bytes at the floor rate costs 0.00003068 XMR, or 1.9 cents. On bitcoin the mempool held 56,882 transactions and 15.09 MvB with recommended rates of 4, 3 and 1 sat/vB, so a 141 vB payment at 3 sat/vB is 423 satoshis, about 0.34 dollars. Together that is 0.36 dollars against the 20.82 lost on the 1,000 dollar round trip - 1.7%. You are not paying the network. You are paying for the corridor to exist on both sides.
What follows from that. First, treat a swap as one-way: a round trip only makes sense when you changed your mind about the asset, never as position management. Twelve 1,000 dollar round trips a year at 2.08% each leave 77.7% of the capital, a 22.3% annual drag; five 100 dollar round trips leave 48.5%. Second, do not look for arbitrage between the two directions. Both quotes come from the same inventory, the midpoint sits 0.13% from spot, and the band is the venue's revenue - crossing it requires a second venue, and then you are comparing two bands, not one. Third, if you need to be in dollars next week, do not park in monero first: you would be buying two confirmation waits, since ten monero blocks measured about 17 minutes and two legs plus funding windows is a 40-minute errand. (Monero confirmation waits)
The boundary, stated plainly: every figure here is a quote, not a fill. We did not create an order and nothing was deposited, so this measures what the router would have given you at that minute, not what 1,000 dollars of real flow does to the book. Two-route pricing depends on both pools being online and holding the pair; if one is disabled the corridor reverts to a single quote, which is exactly the 3.15% case above. All numbers are a snapshot from 06:03 to 06:05 UTC on 5 November 2026, against an XMR spot of 635.01 dollars and BTC at 80,366. The live quote on the order page governs, and it will be different by the time you read this.