A P2P bundle is a chain of two trades: buying USDT on one exchange and selling it on another. It becomes "profitable" only when profit remains after all fees, limits and risks. Below is a step-by-step order to follow every time, so you do not rely on pretty percentages on a screen.
What a bundle is and what it consists of
A bundle has two "legs": a buy (you pay fiat and receive USDT) and a sell (you hand over USDT and receive fiat). Between them is a "bridge": transferring USDT from one exchange to the other, which costs a network fee and time. Each leg has a counterparty (a seller or a buyer), a payment method and limits.
| Element | What to check |
|---|---|
| Buy leg | Best reliable price, limits, payment method, counterparty |
| Bridge | Transfer network, fee in USDT, confirmation time |
| Sell leg | Best reliable price, limits, payment method, counterparty |
Step 1. Choose a direction and a currency
First decide which currency you work in and between which exchanges. For hryvnia that is usually Binance, Bybit and OKX. Three exchanges give six directions (each exchange as "buy" and each other as "sell"), and those are what you need to compare. In MetaRates you can switch currency at once: UAH, PLN, EUR, USD, KZT, CZK or GBP.
Step 2. Compare the exchanges' order books
For the direction "buy on A, sell on B" you need the lowest reliable buy price on A and the highest reliable sell price on B. The word "reliable" is the key: the cheapest ad is often bait (there is a separate article on fake ads). So look not at the first row but at the first few ads with a decent trade count and completion rate.
If you do not want to go through them by hand, the MetaRates rate table shows the best reliable prices of three exchanges side by side, and the calculator below finds the best pair in one click.
Step 3. Account for the payment method
The price depends on what you pay with and where you receive money. An ad with a method you do not have does not exist for you, even if it is the cheapest. So choose only ads whose methods match your own accounts and compare prices among them. In the app this is the Methods button, where you can pick several payment methods at once.
Step 4. Check limits and counterparties
An ad's limits must fit your amount. A very narrow range (for example 500 ₴ – 501 ₴) at an attractive price is a typical bait signal. For every ad look at:
- the number of trades and the completion rate;
- profile age and feedback;
- speed of replies and of releasing the coin.
Step 5. Calculate the net profit
Now take the actual prices and plug them into the formula: (amount ÷ buy price − transfer fee) × sell price × (1 − trade fee) − amount. Example: we buy on OKX at 44.95 ₴, sell on Binance at 45.70 ₴, transfer fee 1 USDT.
Now the same bundle on 5,000 ₴: you keep only 37.73 ₴ (0.75%). The 1 USDT fee (≈ 45.70 ₴) is the same for any amount, so on small amounts it eats almost half of the spread. Without the fee, 5,000 ₴ would give 83.43 ₴ (1.67%). The practical takeaway: the price below which selling makes no sense (break-even) for 5,000 ₴ is 45.36 ₴; anything lower is a loss.
If the exchange also takes 0.5% of the sell trade, on 50,000 ₴ the result drops from 788.56 ₴ to 534.62 ₴ (1.07%). Check fees on the exchanges' own pages, since they can change.
Step 6. Execute without mistakes
- Open the buy order and pay only from your own account and only to the details shown in the order on the exchange.
- Wait until the coin appears in your balance.
- Transfer the USDT to the other exchange, double-checking the network and the address.
- Open the sell order and release the coin only after the money has really arrived in your account.
- Record the result: actual price, fees, time. Compare with your calculation.
Typical beginner mistakes
- Relying on the spread without counting the transfer fee, especially on small amounts.
- Chasing the cheapest ad without checking the counterparty.
- Releasing the coin on a payment screenshot instead of checking the balance.
- Paying from someone else's account or accepting a payment from a third party.
- Opening amounts that are too big before the process is rehearsed on small ones.
Frequently asked questions
It is a chain of two trades: buying USDT on one exchange and selling on another. Profit equals the price difference minus fees, limit constraints and transfer costs.
Compare the best reliable buy and sell prices on several exchanges and plug them into a calculator with fees. In MetaRates the "Find the best bundle" button does this automatically on live prices.
The transfer fee in USDT is fixed, so on a small amount it takes a larger share of the spread. The break-even sell price is found by dividing the amount by (USDT minus the fee).
No, it works from the prices and fees you give it. Limits and payment methods of specific ads must be checked separately in the order list.
Check the numbers on live prices
Open MetaRates: P2P orders from six exchanges, an arbitrage calculator and rate alerts.
This material is for information only and is not financial advice.