A crypto-to-crypto swap means you trade Coin A for Coin B. Even though no fiat currency changes hands, there is still a transaction price. The exchange's order book records a specific "exchange rate" for every swap. That rate is your execution price and the only basis for calculating the cost basis of Coin B.
You don't need to guess the value of Coin B. Simply use the fiat value of Coin A at the time you gave it up.
Step 1: Determine the cost basis of the coin you sold (Coin A)
When you give up Coin A, you effectively sell part of your holdings. You must first calculate the cost basis of Coin A. That tells you the fiat value you "spent" on this swap.
What to do: Find the purchase records for the Coin A you used. If you bought it in multiple lots, decide which accounting method you use (FIFO, LIFO, or HIFO) and identify the cost of that specific lot.
Completion standard: You have a concrete number — the total fiat cost (in dollars) of the amount of Coin A used in the swap.
Risk note: In most countries, including under U.S. IRS rules, a crypto-to-crypto swap is treated as a disposal. You are considered to have sold Coin A and bought Coin B. Even if no fiat touches your bank account, you must report any capital gain or loss. Starting with the 2025 tax year, the IRS's new 1099-DA form requires exchanges to report only the total proceeds of digital asset transactions, without providing cost basis. You must calculate your actual gain or loss yourself. If Coin A had risen in value since you bought it, you need to reflect that gain on your taxes, or you could face an audit.
Step 2: Record the exchange rate (execution price) of the swap
The platform may not show a "unit price for Coin B," but the order details always include the execution rate: how much Coin A you gave up for how much Coin B.
What to do:
Go to the platform's "Order History" or "Trade History" and find the swap order.
Note two numbers: the amount of Coin A you exchanged and the amount of Coin B you received.
Divide the amount received by the amount exchanged to get "how many Coin B per Coin A" — that is the exchange rate for this trade.
To convert to a USD price per Coin B: multiply Coin A's USD price at the time of the trade by the exchange rate. If Coin A has no direct USD pair, use the rate against USDT and then convert.
Common pitfall: Many people look up the "market price" of Coin B from a different trading pair. The actual swap execution price may differ slightly from the market price (especially with slippage). Always use the execution price from your order record.
Major platforms like Binance and OKX now display "execution price" and "filled quantity" in order details. The execution price is the exact purchase price of Coin B and should be used directly to calculate your cost basis.
Step 3: Calculate the cost basis of Coin B
What to do: Take the cost of Coin A you determined in Step 1 (in fiat value) and add the fiat value of any trading fees paid for this transaction. That total becomes the cost basis of Coin B.
Formula: Total cost of Coin B = Cost of Coin A (fair market value at disposal) + fees (in fiat) Cost per Coin B = Total cost of Coin B ÷ Amount of Coin B received
Completion standard: You arrive at a concrete number — the "purchase cost" per Coin B in dollars.
Why include fees: The IRS requires trading fees to be added to the cost basis of the asset. If you use tax software like Koinly or CoinTracker, make sure fees are correctly assigned to the cost basis and not listed as a separate expense.
Step 4: Save these three records
Crypto-to-crypto swaps are much easier to lose track of than fiat trades. Platform statements usually show only "exchange amounts" and do not automatically convert to fiat.
What to do:
Screenshot the order details page (including time, currencies, amounts, exchange rate, and fee).
Record Coin A's USD price (or USDT price) at the time of the trade.
Enter the calculations from Steps 1–3 into your personal ledger (a local spreadsheet or Notion).
Completion standard: You should be able to retrieve the entire cost basis calculation for this trade in under 5 minutes without digging through historical prices again.
Tracking cost basis across platforms (centralized exchanges + decentralized wallets) is the biggest challenge for most users. Surveys show only 35% of crypto users have ever adjusted their cost basis, and users on average use 2.5 different platforms or wallets, 83% of whom use self-custody wallets. If one side of your swap happened on a DEX like Uniswap, be sure to save the transaction hash (TxID). This is the only proof of the execution price when there is no "order history" available on the DEX.
How to verify your work
Compare the per-coin cost of Coin B you calculated to its market price at the time of the trade. You can find that price on CoinMarketCap or on the K-line chart for that trading pair. The two numbers should be very close (the difference comes from slippage and fees). If the gap is more than 5%, you may have used the wrong cost for Coin A or the wrong exchange rate. Go back and double-check.
Next step: Add the trade time and exchange rate from this swap to your "purchase lot" list for Coin B. Later, when you sell part of Coin B, you will need to decide which lot to use (FIFO, LIFO, or HIFO) to calculate your selling cost. A good habit is to complete the cost basis calculation and record it on the same day right after the swap. Waiting until tax season to reconstruct everything will take much more time.


