Exchanging Bitcoin for USDT should not be ignored in your records simply because no rands reached your bank. Record what you disposed of, what you received and the rand values at the time. The tax classification and allowable costs must be settled before the arithmetic becomes a return entry.
SARS says ordinary tax principles apply to crypto assets, with revenue or capital treatment depending on the facts. This guide illustrates a ledger under stated assumptions; it does not decide your classification or calculate your final tax.
Classify before calculating
Keep a written record of the purpose of the holding, trading pattern, acquisition records and relevant year of assessment. Do not assume that every long-held asset is necessarily capital or that every swap is taxed at a single rate. A software label is not a legal conclusion.
Distinguish an exchange of assets from moving the same asset between accounts you own. An own-wallet transfer record should connect the sending and receiving accounts and preserve the acquisition history. It should not create a fictional sale and repurchase merely because two platforms exported separate rows.
The existing SARS guide covers the broader framework. This article isolates the valuation problem when the consideration is another token.
A BTC-to-USDT ledger
The following figures are hypothetical. For the arithmetic only, assume capital treatment, a R20,000 allowable base cost for the BTC disposed of, a R25,000 rand value for the USDT received and a R100 allowable disposal cost. These are model inputs, not a finding that these amounts or capital treatment apply to your transaction.
| Entry | Quantity or rand value | Evidence needed in a real case |
|---|---|---|
| BTC disposed of | 0.02 BTC | Filled trade record |
| USDT received before any separate fee | 1,250 USDT | Filled trade record |
| Assumed USDT/ZAR valuation | R20 | Dated price source and methodology |
| Gross rand proceeds | 1,250 × R20 = R25,000 | Calculation tied to execution time |
| Assumed allowable disposal cost | R100 | Fee record and tax treatment |
| Assumed base cost | R20,000 | Acquisition history and allocation |
| Illustrative gain before exclusions or inclusion rules | R4,900 | R25,000 - R100 - R20,000 |
R4,900 is not the tax due. The example deliberately omits tax rates, annual exclusions and other gains or losses. If the transaction is revenue in nature or the fee treatment differs, the return calculation needs to change.
Do not lose the new asset's history
The USDT now needs its own acquisition record. Assume, only for this second illustration, that R25,000 is its allowable cost and that it is later sold for R26,000 with an allowable R50 disposal cost. The modelled later gain is R950.
Across those two illustrative disposals, the gains would total R5,850 before other adjustments. That does not mean the entire second sale is new profit. Equally, it does not mean the earlier BTC swap can be omitted because the USDT was sold later.
If you sell only part of the USDT, record which cost-allocation method applies and have it checked. Do not switch methods from one row to the next to produce a smaller number.
Capture valuation evidence at the event
Save the execution timestamp and time zone, both asset quantities, actual fills and fee currency. If there is no direct rand pair, document the conversion path and rates used. A daily closing price may not represent a volatile intraday execution; retain the reason for the valuation method and seek case-specific advice if its treatment is uncertain.
When a fee is paid in a third token, preserve that movement separately. Do not silently treat it as a rand fee or deduct it twice because both an exchange export and tax software recorded it.
For multiple fills, reconcile totals to the provider's order record. The average displayed price can hide rounding or fee differences. Keep the raw export and the calculated ledger so another person can reproduce the result.
Review exceptions before filing
Flag missing acquisition costs, transfers with uncertain ownership, rewards mixed with purchased holdings, and valuation sources that do not cover the execution time. Explain gaps rather than inventing a cost basis.
Use the stablecoin guide for USDT holding risks and the cash-out hub for bank withdrawal logistics. Neither determines tax treatment. Before filing, resolve the classification, cost allocation and fee treatment for your own transactions. Keep any unresolved row separate from the final return calculation, with the missing evidence clearly identified.
Sources and verification
Primary SARS guidance read on 20 September 2026. The linked FAQ was reviewed by SARS in 2021. The examples are original arithmetic illustrations; they do not determine the tax treatment of an individual transaction.

