A trader I know once celebrated a profitable swing trade on a screenshot: bought at $24,200, sold at $26,100, "made $1,900." A friend in the chat asked the dull, useful question: "How much did you actually clear?" The honest answer turned out to be closer to $1,420 after exchange fees on both legs, a couple of small network withdrawals, and a slight dent from converting INR to USD and back. Still a profit. Just not the one the screenshot showed.
That gap, between the headline price difference and the cash that ends up in the account, is what this guide is about. It's the reason traders and investors who skip the careful arithmetic occasionally find themselves overconfident in winning streaks and underprepared for the bad ones.
For a quick number on a single position, the Crypto Profit Calculator handles the full set of inputs. The rest of this article walks through the math the calculator is doing, and the cases people most often get wrong.
The basic profit formula isn't wrong, just incomplete
The first formula every beginner learns is fine as far as it goes:
Profit = (Sell Price − Buy Price) × Quantity
If you bought 0.5 BTC at $24,200 and sold it at $26,100, the gross profit is (26,100 − 24,200) × 0.5 = $950.
That formula is correct in a frictionless world. Real-world crypto trading isn't frictionless. Three categories of cost almost always reduce it:
- Exchange trading fees on both the buy and the sell.
- Network (gas) fees for blockchain transactions.
- Currency conversion costs, especially for traders working in a local fiat currency rather than USD.
A more honest formula:
Net Profit = ((Sell Price − Buy Price) × Quantity) − Total Fees − Conversion Costs
The structure isn't complicated. What people miss is the cumulative effect of those frictions across many trades.
Trading fees: the consistent quiet drag
Most centralised exchanges charge a percentage fee per trade, often somewhere between 0.05% and 0.25% per side for spot trading, with discounts for high volume or for paying fees in the exchange's native token. Some exchanges also use a maker-taker model, where adding liquidity to the order book (a "maker" trade) is cheaper than removing it (a "taker" trade).
On a single trade, 0.10% per side doesn't look like much. Buying $5,000 of an asset costs $5 in fees; selling it costs another $5. Round trip, $10 on a $5,000 position is 0.2% of capital.
Now run that across a year of frequent trading. Two hundred round trips at 0.20% per round trip is a 40% drag on the capital deployed in each trade, before you even consider whether the trades themselves made money. High-frequency strategies that look great on paper can be quietly losing to fees in practice.
A useful habit: when comparing a buy price and a sell price, immediately note the effective post-fee buy and post-fee sell. If you bought at $24,200 with a 0.10% taker fee, your effective entry is $24,224.20 (the fee makes it as if you bought slightly higher). If you sold at $26,100 with a 0.10% taker fee, your effective exit is $26,073.90. The "gap" between the entry and exit shrinks by the size of the round-trip fee.
Network fees and on-chain frictions
For coins where you're moving the asset on-chain, transferring to a personal wallet, sending to another exchange, or transacting directly on a layer-1 like Ethereum, there's an additional network fee (often called gas).
Network fees are paid in the native gas token of the chain (ETH for Ethereum, SOL for Solana, MATIC for Polygon, etc.) and vary with network congestion. On Ethereum, a routine transfer can cost a few dollars on a quiet day and tens of dollars during peak demand. On lower-fee chains, the cost can be cents.
These fees usually don't show up in the basic exchange P&L view, but they're real costs of holding and moving the asset. A trader who keeps coins on the exchange may avoid them entirely; a self-custody investor pays them every time they move funds.
Break-even price: the most useful number in the workflow
The single most useful derived number after a buy is the break-even price, the sell price at which the trade nets to zero after fees.
For a simple single-buy, single-sell trade with a percentage fee on each side, the break-even is roughly:
Break-even ≈ Buy Price × (1 + 2 × Fee Rate)
For our $24,200 buy with 0.10% taker fee on both sides, break-even is about $24,200 × 1.002 = $24,248.40. Below that price, the trade is a loss after fees, even if the headline numbers look slightly positive.
The break-even is more useful than the gross profit because it tells you, in advance, where you need to be to walk away whole. The Crypto Profit Calculator computes this directly. Even if you don't use a calculator, the back-of-envelope rule, "double the round-trip fee percent above your buy price," keeps the trade honest.
Percentage return: not the same as the price move
People often quote the price move as the return on a trade. They aren't always the same.
Suppose the asset moves from $24,200 to $26,100, a 7.85% price move. After 0.10% fees on each side, the net change on the capital deployed is closer to 7.65%. Small in this case. But over many trades and over years, the cumulative gap is exactly the difference between "trading like a professional" and "trading like a fee-paying participant."
The return on the position uses net dollars in and net dollars out:
Return % = (Net Sell Proceeds − Net Buy Cost) / Net Buy Cost × 100
This matches what a generic ROI Calculator does for any investment, except here you have to be careful to use the post-fee dollar amounts on both ends.
For comparing two completely different positions or strategies, percentage return is the cleaner metric than raw dollars. A 12% net return on $1,000 over a month is structurally different from a 12% net return on $50,000 over a year, but the percentage normalises across position sizes.
Multiple buys: average cost basis
The math gets more interesting when you've bought the same asset at different prices over time. Each purchase contributes to your average cost basis for the position.
The straightforward formula:
Avg Cost = (Buy 1 × Qty 1 + Buy 2 × Qty 2 + …) / (Qty 1 + Qty 2 + …)
Worked example: three buys.
- Buy 1: 0.1 BTC at $22,000 = $2,200
- Buy 2: 0.15 BTC at $24,500 = $3,675
- Buy 3: 0.05 BTC at $28,000 = $1,400
Total quantity: 0.30 BTC. Total spent: $7,275. Average cost: $7,275 / 0.30 = $24,250 per BTC.
That average is what break-even is calculated against if you decide to sell the full position. If you sell the whole 0.30 BTC at $25,500, gross profit is (25,500 − 24,250) × 0.30 = $375, before fees on the sell side and any on the buy sides.
Adding fees to the average-cost view is simple in principle but tedious in practice: each buy's effective price is the agreed price plus its share of fees. Most calculators handle this for you, but understanding the average-cost concept is what makes the calculator output legible.
Partial sells: tracking what's left
Selling part of a position raises the next question: what's the cost basis of the remaining coins?
Two common conventions:
First In, First Out (FIFO). The first coins bought are treated as the first coins sold. Useful for tax tracking in many jurisdictions where FIFO is the default. After selling 0.10 BTC from the example above, FIFO would treat the sale as 0.10 BTC at the Buy 1 cost of $22,000, leaving 0.15 BTC at $24,500 and 0.05 BTC at $28,000 in the remaining position.
Average cost. The sold portion is treated as having the average cost of the whole position. After selling 0.10 BTC at the average of $24,250, the remaining 0.20 BTC also keeps the average $24,250 basis.
Tax law in many jurisdictions specifies which method is required. Tax treatment of crypto is a separate, complex area; the Percentage Increase Calculator and the crypto profit calculator handle the math of partial sells, but the tax filing requires jurisdiction-specific guidance.
Currency conversion: the second hidden layer
For traders working in a local fiat currency rather than USD, the price quoted on an exchange (often in USD or USDT) isn't the price they actually paid in local terms.
Two conversion costs typically apply:
The exchange rate at the time of the trade. Moving INR to USDT to BTC and back means the local-currency value depends on three prices, not one. If the rupee weakens against the dollar between buy and sell, your USD-denominated profit translates into more rupees. If it strengthens, less.
Conversion fees and spreads. Many exchanges or fiat on-ramps add a spread to the headline forex rate, often 0.5% to 1.5% per conversion. Round-trip currency conversion can easily add another percentage point of friction.
For a non-USD trader, the honest profit calculation runs end-to-end in local currency:
- Local-currency cost at buy (including conversion to USD or stablecoin)
- Local-currency proceeds at sell (after converting back)
- Net = proceeds − cost
A simple Currency Converter handles the one-step conversion, but for a complete trade you need both legs and the spreads on each.
A worked end-to-end example
An Indian trader buys 0.20 ETH at a quoted USD price of $3,200 with a 0.10% taker fee. The conversion from INR to USDT costs an effective 0.7% spread. INR/USD at the time is 83.50.
INR cost of the position:
- USD value: 0.20 × $3,200 = $640
- Plus trading fee: $640 × 1.001 ≈ $640.64
- Conversion spread: $640.64 × 1.007 ≈ $645.12 USD-equivalent local cost
- In INR at 83.50: ₹53,888 (approximately)
Six months later, the trader sells the 0.20 ETH at $3,650 with a 0.10% taker fee, then converts back to INR. INR/USD has moved to 84.20.
INR proceeds:
- USD value: 0.20 × $3,650 = $730
- Less trading fee: $730 × 0.999 ≈ $729.27
- Conversion spread on the way back: $729.27 × 0.993 ≈ $724.16 USD-equivalent local proceeds
- In INR at 84.20: ₹60,975 (approximately)
Net profit in INR: ₹60,975 − ₹53,888 = ₹7,087.
The headline price move was +14% ($3,200 to $3,650). The post-fee, post-conversion return on rupee capital was closer to 13.1%. Small frictions, but real. Across many trades, that gap compounds.
Common mistakes
Quoting profit as sell minus buy with no fee adjustment. The single most common error. It always overstates profit, sometimes significantly.
Ignoring network fees on self-custody transfers. Moving coins to a personal wallet and back is convenient but not free, especially on busy chains.
Treating an unrealised gain as profit. Until the position is sold, the gain is on paper. Markets move, and many "winning" positions turn into losses if held too long after the entry thesis stopped working.
Forgetting the time value. A 5% net gain over a week is structurally different from a 5% net gain over a year. Percentage return without a time window is incomplete.
Cherry-picking the winning trades. Looking at the green ones and quietly ignoring the red ones produces a skewed sense of performance. The honest measure is the full account balance change minus deposits, plus withdrawals, over the period.
Skipping the tax dimension. In many jurisdictions, crypto gains are taxable. The math in this article is pre-tax. The post-tax return can be meaningfully different, and capital gains rules differ between short-term and long-term holdings in many places.
A few realistic scenarios
A day trader doing 5–10 round trips a day on a 0.10% per side fee structure spends 1%–2% of capital on fees daily. Across an active month, that's 20%–40% of capital in fees. The strategy has to outperform that drag substantially just to break even.
A long-term investor with a single buy at $35,000 and a single sell three years later at $55,000 sees a 57% headline price move. Fees on two trades (0.10% per side) total about $90 on a $35,000 buy and $55 on the buy side rounded up, and the net post-fee return is essentially unchanged at the long horizon. Frequent fees hurt; rare fees barely register.
A retail buyer making monthly $200 purchases for 24 months on a fee-rich on-ramp at 1.5% per conversion is spending $3 per buy in conversion fees, or $72 over the period, on $4,800 of deposits, a 1.5% drag before the asset itself does anything. Choosing a cheaper conversion path can quietly save more than active trading often produces.
FAQs
Is crypto profit just sell price minus buy price? That's the gross profit per coin, before fees and conversions. The net profit accounts for trading fees on both sides, network fees if you moved the asset, and any currency conversion spreads if you traded outside USD.
What is a break-even price? The sell price at which the trade nets to zero after fees. For a typical 0.10% per side fee structure, break-even is approximately the buy price multiplied by 1.002.
How do I calculate an average cost when I bought at different prices? Sum the total amount paid (price × quantity for each buy) and divide by the total quantity bought. The average cost is your weighted entry price for the combined position.
Do I include network fees in my profit calculation? You should, if you actually paid them. Network fees on transfers between exchanges or to a personal wallet are real costs of the position. Trades that stay within one exchange usually avoid them.
How do I handle a partial sell? Use either FIFO (first in, first out) or average-cost methods. Tax law in your jurisdiction may prescribe one. The remaining position carries the cost basis of the unsold coins.
Does currency conversion affect my profit? Yes, in two ways. The forex rate at the time of each conversion changes how much local currency you spent and received. Conversion fees and spreads add another percentage point or two of friction across a round trip.
Related guides
- What Is ROI and How Do You Calculate It?
- Percentage Increase vs Percentage Decrease Explained
- Common Financial Formulas Every Business Should Know
This article is educational. Crypto markets are volatile and trading carries significant risk of loss. Tax treatment of crypto gains varies widely by jurisdiction and individual situation. For decisions, consult a qualified financial professional and a tax adviser familiar with crypto in your country.