6 min read

P2P Spread and Arbitrage: How to Calculate Your Profit

A practical guide to understanding P2P spread, how to calculate your net profit per trade, and how to use automation to capture arbitrage opportunities consistently.

P

Pilotbot Team

Author

On this page

Direct answer: P2P spread is the difference between the price at which you buy USDT (or another asset) and the price at which you sell it. Your gross profit per unit equals the sell price minus the buy price. Net profit deducts your costs: exchange fees, currency conversion losses, and the cost of the capital tied up in the trade.


What Is P2P Spread?

In P2P trading, you act as a market maker — you post both a buy ad (to acquire USDT) and a sell ad (to dispose of it). The spread is the gap between these two prices.

Example:

  • You buy USDT at 25,100 VND per USDT (from sellers on Binance P2P).
  • You sell USDT at 25,200 VND per USDT (to buyers on Binance P2P).
  • Gross spread = 100 VND per USDT = 0.40%.

Over 1,000 USDT traded in a day, that is 100,000 VND ($4) in gross profit, assuming both sides fill completely. Over 10,000 USDT/day, that is 1,000,000 VND ($40).


How to Calculate Net Profit Per Trade

Gross spread is not what you keep. The real calculation:

Net profit = (Sell price − Buy price) × Volume
           − Exchange fees
           − Payment processing costs
           − Cost of capital

Let's walk through each component.

Exchange Fees

Binance P2P and Bybit P2P typically charge 0% maker fee for merchants who post ads (you are the maker). Takers (buyers/sellers responding to your ad) pay a small fee, but this does not affect your profit directly.

For most P2P merchants, exchange fees on the ad side are zero. However, if you source your USDT via spot trading (buying with a limit order), spot trading fees apply — typically 0.1% on Binance, 0.1% on Bybit.

Payment Processing Costs

If your buyers pay via bank transfer and you are converting between currencies, your bank may charge a wire or FX fee. This varies by provider. Some high-volume merchants use zero-fee wallets (e.g. certain Vietnamese or Thai mobile wallets) to eliminate this cost.

Cost of Capital

This is often overlooked. You need USDT float to run your sell ads. That capital has an opportunity cost — the return it could earn elsewhere (e.g. lending, staking). A common proxy: 5-8% annual return on equivalent capital.

Example calculation for 10,000 USDT working capital:

  • Annual opportunity cost: 10,000 × 6% = $600/year = $1.65/day.
  • If your daily gross spread is $40, your net after opportunity cost is ~$38.35/day.

At scale, the cost of capital becomes the most significant hidden cost.


What Spread Is Sustainable?

Minimum viable spread depends on your volume. A rough guide:

Daily Volume (USDT)Minimum Spread to Break Even
1,000~0.5% ($5/day)
5,000~0.3% ($15/day)
10,000~0.2% ($20/day)
50,000+~0.1% ($50/day)

Higher volume allows you to compete on thinner spreads because fixed costs (payment infrastructure, time) are spread across more transactions.


P2P Arbitrage: When Two Markets Diverge

P2P arbitrage happens when the price of the same asset differs between two exchanges (or between P2P and spot markets) by more than the transaction costs to exploit the gap.

Example:

  • Binance P2P: You can sell USDT for 25,200 VND.
  • Bybit P2P: You can buy USDT for 25,050 VND.
  • Arbitrage spread: 150 VND per USDT = 0.60%.
  • After fees and transfer costs: ~0.40% net.

You execute a buy order on Bybit P2P and a sell order on Binance P2P simultaneously (or in rapid sequence). The profit is the spread minus execution costs.

Why Arbitrage Windows Close Fast

Arbitrage opportunities are self-eliminating: when you (and other merchants) buy on the cheaper exchange, buying pressure raises prices there; selling on the more expensive one lowers prices there. The gap narrows until it equals transaction costs and both opportunities disappear.

Manual arbitrage is nearly impossible to capture because:

  • Windows last seconds to minutes.
  • You need to be watching both exchanges simultaneously.
  • Execution latency (logging in, updating ads) is too slow.

Automated systems capture arbitrage because:

  • They monitor multiple exchanges simultaneously.
  • Price updates happen in seconds.
  • They never sleep.

How to Use Automation to Capture Spread Consistently

Pilotbot does not run traditional cross-exchange arbitrage (that requires fast fund transfers). What it does is maximise your spread capture within each exchange by:

  1. Keeping you at the best competitive price — you capture the spread on every order instead of missing orders while your price is stale.

  2. Applying spread-protect strategy — if the buy/sell spread in your market compresses below your minimum, Pilotbot pauses your ads automatically. You only trade when the spread is profitable.

  3. Monitoring 24/7 — spread opportunities at 03:00 local time (when manual merchants are asleep) are the same as opportunities at 14:00. Automation captures both.

  4. Reacting to reference rate shifts — if the underlying USDT/VND rate shifts sharply, Pilotbot reprices both your buy and sell ads within seconds, keeping your spread constant relative to the new market level.


Practical Example: Running a Buy-Sell Book on Binance P2P

Setup:

  • Buy USDT ad: targeting 0.3% below reference rate.
  • Sell USDT ad: targeting 0.3% above reference rate.
  • Total targeted spread: 0.6%.
  • Hard corridor: ±5% (safety limit).
  • Spread-protect: pause if spread compresses below 0.2%.

With 10,000 USDT capital and 2× daily turnover (20,000 USDT/day):

  • Gross spread: 20,000 × 0.006 = $120/day gross.
  • Minus fees, payment costs, opportunity cost: ~$100/day net (rough estimate).
  • Monthly: ~$3,000/month.

These are illustrative numbers — actual results depend on your local market, payment methods, and competition level. The point is that even a modest spread, automated and applied consistently, compounds into meaningful revenue.


Common Mistakes That Destroy Spread

1. Chasing the spread too aggressively. Competing on price alone without watching your actual margin leads to executing trades at or below cost. Always track net, not gross.

2. Running too thin a capital float. If your sell ads run out of USDT before your buy orders fill, you have spread exposure with no inventory. Size your float for your target daily volume × average order size.

3. Not pausing during low-liquidity periods. Overnight or during public holidays, spreads can look attractive but fill slowly. Tied-up capital earns nothing. Use Pilotbot's spread-protect and time-based rules to pause when conditions are not right.

4. Ignoring payment method costs. Some payment methods have hidden costs (FX conversion, bank fees). Calculate your true cost basis per payment method and only accept methods that are net-positive.


Frequently Asked Questions

Is P2P spread trading risk-free? No. Risks include: counterparty default (buyer doesn't pay), regulatory changes in your jurisdiction, rapid market movements that outpace your hedging ability, and fraud. Risk management is essential.

How much capital do I need to start? There is no minimum, but meaningful daily volume typically requires at least $1,000-$5,000 in working capital. Lower capital means fewer simultaneous orders and slower compounding.

Can I run a buy-sell book on a single exchange? Yes. Binance and Bybit both allow you to post buy and sell ads simultaneously on the same account for the same pair. This is the standard P2P market-making setup.

Does Pilotbot help with spread management? Yes. You set your target spread in the strategy configuration. Pilotbot maintains that spread by adjusting both sides of your book in real time as the market moves.

What is the difference between spread and arbitrage? Spread is the margin you earn on each individual trade (buy low, sell high on the same exchange). Arbitrage exploits price differences between two separate markets simultaneously.


Learn more about automating your P2P strategy: pilotbot.net. Start free for 14 days: signup.

Ready to automate your P2P trading?

Start your 14-day free trial. No credit card required.

Get started free

Keep reading