Most crypto tax guides talk about buying low and selling high. The part that catches people out is the crypto they never bought. Staking rewards, mining payouts, airdrops, and interest-style yield all arrive in your wallet without you spending a cent, and SARS treats each one as income the moment it shows up. This is the corner of South African crypto tax that gets explained the least and reported wrong the most, usually because exchange exports label these rewards badly, or don't label them at all.
Crypto you earn is income on the day it arrives
Here's the rule, in one place. When crypto lands in your wallet as a reward, SARS treats it as gross income at its rand market value on the date you receive it. That value is added to your taxable income for the year and taxed at your marginal rate, which reaches 45% at the top for individuals.
The annual exclusion that takes the sting out of a capital gain does nothing for you here. That exclusion is for capital gains, and a reward is income, not a capital gain. There's no tax-free slice on crypto you earn.
There is one thing worth holding onto, though. The rand value you got taxed on becomes your base cost in that crypto. Sell it later and you're only taxed again on the movement since you received it, not on the full amount a second time. That base cost is the thread linking the two events below.
The two-event mental model
The cleanest way to hold all this in your head is to see earned crypto as two separate tax events.
Event one is receiving the reward. It's an income event, valued in rand on the day it hits your account.
Event two is disposing of it later. When you sell, swap, or spend that crypto, a second event happens. For most holders that's a capital gain or loss on whatever the value did between receipt and disposal. For active traders it's revenue instead.
Here's a clean example. You receive a staking reward worth R1,000 on the day it arrives. That R1,000 is income right now, taxed at your marginal rate. Four months later you sell that same crypto for R1,400. Your base cost is the R1,000 you were already taxed on, so the disposal shows a R400 gain, and only that R400 is taxed at the second event. The original R1,000 is never taxed twice. Income first, then the R400 of growth on top.
Flip it around. If the price had fallen and you sold for R800, you'd book a R200 capital loss on the disposal, even though the R1,000 was still income when it landed. The two events are worked out on their own. They don't net off against each other.
The three ways you earn, and the wrinkle in each
Staking rewards
Staking pays you in small amounts, often daily and sometimes more often than that. Each payout is its own income event, and each one needs a rand value on the exact date it landed. That sounds manageable until you notice a single staking position can throw off hundreds of tiny receipts over a tax year, every one at a different market price. Interest-style yield from lending or "earn" products works the same way, many small credits, each an income event valued on the day it pays out. Lose track of the dates and you can't value any of it properly, and the income total you declare ends up wrong.
Mining
Mined crypto is income at its rand value on the day you receive it, the same as staking. The extra wrinkle is how SARS is likely to view the activity itself. Occasional mining might sit quietly as a small source of income. Frequent, organised mining, with real rigs and running costs behind it, starts to look like a trade. The rewards are income on receipt either way, but once the activity reads as a trade, your later disposals lean towards revenue at your full marginal rate rather than capital gains. If mining is more than a hobby for you, that classification question is worth taking seriously.
Airdrops
An airdrop is income at its market value the moment it lands in your wallet. The awkward case is the airdrop of a token that's barely worth anything. Technically it still arrives as income at whatever its market value is on that date, which might be a few cents or as good as zero. A near-worthless airdrop usually means a near-zero income figure, so the income side is small. It still belongs in your records, because that tiny base cost is exactly what a future gain gets measured against if the token ever runs. Ignore the airdrop now and you'll have no base cost to point at later.
Record-keeping is where this actually goes wrong
The tax rule is short. The record-keeping is the hard part, and it's where most people come unstuck.
Look at what earned crypto actually generates. Hundreds of micro-receipts spread across months, each one needing a dated rand price to value it. Exchange CSV exports rarely make that easy. One platform labels a staking reward as "reward", another as "interest", another files it as a plain deposit, and some don't separate it from an ordinary trade at all. If a reward isn't flagged as income, it's easy to skip entirely, and then the income you declare is understated.
It gets messier the moment you move rewards around. Shift your staking payouts from an exchange to a private wallet and a badly recorded transfer can look like a disposal in the export, even though moving crypto between your own wallets isn't a taxable event. Now you're untangling which lines are genuine income, which are real disposals, and which are just you shifting your own coins from one place to another.
What good records look like
For every reward that hits your account, you want five things written down. The date it landed. The asset you received. The quantity. The rand value at the moment of receipt. And the source, meaning which exchange, pool, or protocol it came from.
That's enough to value the income correctly and to lock in the base cost for the eventual disposal. Capture it for every reward, not just the large ones, because the small receipts are the ones that quietly go missing. SARS can ask you to back up your return, and the standard record-retention period is five years from the date you file, longer if a dispute or audit is running.
How Coinfig handles earned crypto
This is exactly the problem Coinfig is built to take off your plate. It pulls your history straight from Luno, VALR, and Kraken through read-only API connections, and it takes CSV files for anything else. Read-only means Coinfig can see your transactions but can never place a trade or move your funds.
From there it prices every receipt in rand on its own date and keeps your income events separate from your disposals, so the two tax events don't get muddled. A completeness check looks for the gaps that cause wrong numbers: missing history, unmatched transfers, unusual balance changes, and rewards an export left unlabelled or dropped. Those surface before you rely on the totals. Your first report is free for up to 100 transactions, which covers plenty of people running a single exchange and a modest staking position.
One thing to be clear on. Coinfig runs the calculations and produces the reports, and it leaves the tax advice to a practitioner who knows your full circumstances.
For the wider picture on how SARS treats crypto, start with our South African crypto tax guide. When you're ready to put the numbers on your return, our walkthrough on declaring crypto on your ITR12 in eFiling covers the filing itself. Or start a free report and see what your earned crypto actually adds up to.
This article is general information, not tax advice. Crypto tax outcomes depend on your specific circumstances. For complex situations, consult a qualified tax practitioner.