Understanding Transaction Settings & Income Classification
Control how staking rewards, crypto swaps, and wallet transfers are classified in your KoinX tax report — as income, capital gains, or non-taxable transfers.
When you receive a staking reward, do a crypto-to-crypto swap, or move funds between your own wallets, how should each of those events be treated for tax purposes? That is exactly what Transaction Settings in KoinX lets you control.These toggles decide how different crypto events are classified in your tax report: whether something shows up as income, capital gains, or a non-taxable transfer between your own wallets. Small settings, but they can significantly change how your report looks.
This setting changes how gains are labelled in your tax report.When enabled, gains that would normally appear as Capital Gains will instead appear as Business Income in the report. For example, the Capital Gains Summary section becomes Business Income Summary.What it does not do: It does not change how gains are calculated. Only the label in the report changes.This is useful if crypto trading is your primary source of income and you intend to report it as business income when filing taxes. Whether your activity should actually be classified as business income depends on your tax situation and your CA’s guidance.
Treat Airdrops as Income
Controls how tokens received through airdrops are recorded.When enabled: Airdropped tokens are treated as income at the time you receive them.Example: You receive 100 tokens when the market price is Rs. 50. Income recorded = Rs. 5,000. If you later sell them at Rs. 80, capital gain = Rs. 30 per token (because Rs. 50 becomes your cost basis).When disabled: Airdrops are recorded with Rs. 0 acquisition cost.Example: You receive 100 tokens (no income recorded). Later you sell them at Rs. 80. Capital gain = Rs. 8,000 (the entire sale value, since there is no cost basis).Key point: Disabling does not mean you avoid tax. It shifts when tax applies and can result in a larger capital gain at the point of sale.How to fix an airdrop that wasn’t labelled correctly
Treat Crypto-to-Crypto Trades as Taxable
Determines whether swapping one crypto for another triggers a taxable event.When enabled: Crypto-to-crypto swaps are treated as taxable disposal events.Example: You bought BTC for Rs. 10,00,000. Later you swap BTC for ETH when BTC is worth Rs. 12,00,000. Capital gain of Rs. 2,00,000 is recorded immediately, as if you sold BTC and used the proceeds to buy ETH.When disabled: Crypto-to-crypto trades do not trigger gains or losses at the time of swap.Example: BTC purchased for Rs. 10,00,000 is swapped for ETH (no gain recorded). If ETH is later sold for Rs. 13,00,000, the full gain is calculated at that point.Key point: Disabling defers the tax until the final sale rather than realising it during the swap.
Treat Interest as Income
Controls how staking rewards, lending interest, and savings yields are classified.When enabled: Interest earned from staking, lending, or savings programs is treated as income when received.Example: You receive staking rewards worth Rs. 20,000. Income recorded = Rs. 20,000. If you later sell those tokens for Rs. 25,000, capital gain = Rs. 5,000 (because Rs. 20,000 becomes your cost basis).When disabled: Interest rewards are recorded with Rs. 0 acquisition cost.Example: You receive staking rewards (no income recorded). If you later sell them for Rs. 25,000, capital gain = Rs. 25,000 (the entire sale value).Key point: Disabling shifts tax from income at receipt to capital gains at sale.
Treat Rewards as Income
Controls how referral rewards and promotional rewards are classified.When enabled: Reward tokens are treated as income when received.Example: You receive reward tokens worth Rs. 10,000. Income recorded = Rs. 10,000. If you later sell them for Rs. 15,000, capital gain = Rs. 5,000.When disabled: Rewards are recorded with Rs. 0 cost basis.Example: You receive reward tokens (no income recorded). If you later sell them for Rs. 15,000, capital gain = Rs. 15,000 (entire sale value becomes capital gain).How to fix a staking reward showing without the right label
Treat Other Gains as Capital Gains
Controls how gains that do not fall into standard categories are classified.When enabled: Gains from airdrops, rewards, or staking interest are treated as capital gains instead of income.Example: You receive tokens worth Rs. 10,000. Capital gain recorded = Rs. 10,000. If you later sell for Rs. 15,000, additional capital gain = Rs. 5,000.When disabled: These gains are treated as Other Income instead.Example: Tokens received worth Rs. 10,000. Income recorded = Rs. 10,000. If you later sell for Rs. 15,000, capital gain = Rs. 5,000.Key point: This affects where the value appears in your tax report, not whether it is taxed.
Treat External Deposit as Income
Controls how deposits coming from external wallets are interpreted.When enabled: Deposits from external wallets are treated as income.Example: You deposit 1 ETH when ETH price = Rs. 2,00,000. Income recorded = Rs. 2,00,000. KoinX assumes the deposit represents new income you received.When disabled (default): External deposits are not treated as income.Example: You deposit 1 ETH (no income recorded). If you later sell at Rs. 2,50,000, capital gain = Rs. 50,000. KoinX assumes the asset already belonged to you and only taxes the price increase after the deposit.Key point: This setting is disabled by default because most deposits represent assets you already owned, not new income. Enable only if you have specific reasons to treat external deposits as income.
Treat External Withdrawal as Sale
Determines whether withdrawing crypto to an external wallet triggers a taxable disposal event.When enabled: External withdrawals are treated as sale transactions. Capital gain or loss is calculated based on the asset’s cost basis and the price at time of withdrawal.When disabled: External withdrawals are not treated as sales. No capital gain is recorded at the time of withdrawal.Key point: Enable this if withdrawals represent disposals (such as sending to a third party’s wallet). Keep disabled if withdrawals are simply movements to your own external wallets that KoinX is not tracking.
Offset Brokerage Fees in Trades
Determines how trading fees are handled in gain calculations.When enabled: Trading fees are factored into your gains.
Buy fees increase your cost basis
Sell fees reduce your sale value
Example: You buy ETH for Rs. 1,00,000 with a Rs. 500 fee. Cost basis = Rs. 1,00,500. If you sell for Rs. 1,20,000, capital gain = Rs. 19,500.When disabled: Fees are not included in gain calculations.Example: You buy ETH for Rs. 1,00,000 with a Rs. 500 fee. Cost basis stays Rs. 1,00,000. If you sell for Rs. 1,20,000, capital gain = Rs. 20,000. The Rs. 500 fee appears separately under Other Expenses.Key point: Enabling this usually reduces your reported gain slightly, which more accurately reflects your actual trading cost.
Treat Loan Repayment as Sale
Controls whether using crypto to repay a loan is treated as a taxable disposal.When enabled: Repaying a loan with crypto is treated as a sale event. Capital gain or loss is calculated based on cost basis and the price at time of repayment.When disabled: Loan repayments using crypto are not treated as sales. No capital gain is recorded.
Treat Lost as Sale
Controls how lost or inaccessible crypto assets are recorded.When enabled: Lost assets are treated as sale transactions with zero proceeds.Example: You bought 1 BTC for Rs. 20,00,000 and your wallet is compromised. Sale value = Rs. 0. Capital loss = Rs. 20,00,000. This loss may help offset gains depending on your jurisdiction.When disabled: Lost assets are treated as Other Expense.Example: 1 BTC purchased for Rs. 20,00,000 is lost. Recorded as Other Expense = Rs. 20,00,000. It will not appear as a capital loss.
These settings help KoinX identify transfers between your own wallets or exchanges. When a withdrawal from one wallet matches a deposit in another wallet you own, KoinX classifies it as an internal transfer rather than a taxable transaction. Getting these settings right ensures that moving funds between your own wallets is not mistakenly treated as a sale or income event.
Time Window for Automatic Matching
The maximum time difference in minutes between a withdrawal and a deposit for them to be automatically classified as an internal transfer.Default: 120 minutesExample: You withdraw 1 ETH from Binance at 10:00 AM and it arrives in your MetaMask at 10:20 AM. Since 20 minutes is within the 120-minute window, KoinX classifies these as an internal transfer automatically.If your blockchain confirmations regularly take longer than 120 minutes, increase this value. If you are seeing incorrect matches between unrelated transactions, decrease it.
Maximum Amount Difference (%)
The maximum percentage difference allowed between withdrawal and deposit amounts for them to still be matched as an internal transfer. This accounts for network fees deducted during the transaction.Default: 5%Example: You withdraw 1 ETH and receive 0.98 ETH after gas fees (a 2% difference). Since 2% is within the 5% threshold, KoinX still matches these as an internal transfer.
Deposit Before Withdrawal Grace Period
The maximum time in minutes that a deposit timestamp can appear before the corresponding withdrawal timestamp and still be considered for internal transfer classification. This only applies if Strict Timestamp Ordering is disabled.Default: 1 minuteExample: The withdrawal is recorded at 10:00:10 AM, but the deposit is recorded at 9:59:40 AM. Since the deposit appears only 30 seconds before the withdrawal (within the 1-minute grace period), KoinX can still match them as a transfer. This accounts for small timestamp discrepancies across blockchains and data sources.
Strict Timestamp Ordering
Determines whether the deposit must always occur after the withdrawal in order to be matched as an internal transfer.When enabled, KoinX only matches a withdrawal and deposit as a transfer if the deposit timestamp is later than the withdrawal timestamp.When disabled, KoinX will also consider deposits that appear slightly before the withdrawal, as long as they fall within the Deposit Before Withdrawal Grace Period.This is useful if your imported data has minor timestamp inconsistencies across exchanges or blockchains.
They can. Some settings like Treat External Withdrawal as Sale can significantly change your reported gains. Others like Offset Brokerage Fees usually have a smaller impact. Review the settings carefully and consult your CA if unsure.
If I transfer between my own wallets, will it be taxed?
No, as long as KoinX correctly matches the withdrawal and deposit as an internal transfer. Correct internal transfer settings are key to ensuring these movements are not misclassified as sales or income.
What does 'Is Crypto Your Primary Source of Income?' actually do?
It changes how gains are shown in the report. Capital gains will appear as business income in the report instead. It does not automatically mean your activity will be taxed as business income or change how the calculations work. Whether it should be reported as business income depends on your individual tax situation.
Will enabling 'Primary Source of Income' change my tax rate?
No. It only affects the classification label shown in the report, not the tax rules or calculations themselves. The actual tax treatment depends on how you file, which is a decision between you and your CA.
What does 'Offset Brokerage Fees' mean in simple terms?
It tells KoinX whether trading fees should be included in your gain calculation. When enabled, fees are built into the cost basis or deducted from the sale value, which usually reduces your reported gain slightly and better reflects your actual trading cost.
If I enable offset fees, will it reduce my taxable gains?
Usually yes, by a small amount. Because the fee is factored into the transaction cost, the reported gain becomes slightly lower than it would be otherwise. How much it reduces your tax depends on how actively you trade and how much you pay in fees.
What do Internal Transfer Settings do?
They help KoinX automatically match withdrawals and deposits between your own wallets so your transfers are not treated as taxable sales by mistake. The time window and amount difference thresholds determine how closely two transactions need to match before KoinX considers them a transfer.
Should I change these settings if I am not sure what they do?
Best not to. The default settings work well for most users. If you are unsure about a specific toggle, check with your CA before changing anything that affects tax calculations.
Do I need to regenerate my report after changing these settings?
Yes. These changes only appear in newly generated reports. Reports you have already downloaded remain unchanged.