Reference

How every transaction is classified.

Grubless sorts each transaction into one of 82 categories, and each category carries a default tax treatment: 24 capital gain/loss, 13 income, 35 not taxable, 10 ignored. This page is generated from the same list the engine itself uses, so it cannot drift from what your figures are actually built on.

Capital gain/loss

A disposal. Proceeds are the market value at the time; the gain or loss is that amount less the cost base of the parcels consumed.

Income

Assessable as ordinary income at market value on the day you received it. That value also becomes the cost base, so a later sale is taxed only on the movement since.

Not taxable

Recorded and reportable, but no tax consequence of its own. It still shapes your figures: an inbound leg creates a parcel with a cost base for later.

Ignored

Excluded from the ledger entirely. No parcel, no disposal, no effect on any figure.

Common

CategoryDefault treatmentNotes
Buybuy Not taxable —
Sellsell Capital gain/loss —
Cross-Chain Buycross_chain_buy Not taxable The receiving half of a bridge. Controlled by a per-entity setting that defaults to not a disposal, since the same value simply moved chains.
Cross-Chain Sellcross_chain_sell Capital gain/loss The sending half of a bridge — see the receiving half.
Sendsend Not taxable —
Receivereceive Not taxable —
Transfertransfer Not taxable A confirmed move between your own wallets. Never a disposal in any jurisdiction, so this one isn't configurable — but the cost base travels with the coins rather than resetting.

Ignored

CategoryDefault treatmentNotes
Failed (In)failed_in Ignored —
Failed (Out)failed_out Ignored —
Ignore (In)ignore_in Ignored —
Ignore (Out)ignore_out Ignored —
Spamspam Ignored Unsolicited tokens sent to your address, usually to bait an interaction. Excluded so they can't inflate holdings or invent disposals.
Dust (In)dust_in Ignored —
Dust (Out)dust_out Ignored —

DeFi (incoming)

CategoryDefault treatmentNotes
Collateral Withdrawalcollateral_withdrawal Capital gain/loss Controlled by the same setting as posting collateral.
Remove Liquidityremove_liquidity Capital gain/loss Controlled by the same setting as supplying liquidity.
Receive Receipt Tokenreceive_receipt_token Not taxable —
Staking Rewardstaking_reward Income Whether this is income on receipt depends on the entity — a business is assessed on it — so it is a per-entity setting.
Voting Rewardvoting_reward Income —
Staking Withdrawalstaking_withdrawal Not taxable Rewards already recognised as they accrued are not counted a second time when the stake account closes and pays out as one lump sum.
Instant Unstakeinstant_unstake Not taxable —
Staking Deactivationstaking_deactivation Not taxable —
Staking Splitstaking_split Not taxable —
Staking Mergestaking_merge Not taxable —

DeFi (outgoing)

CategoryDefault treatmentNotes
Collateral Depositcollateral_deposit Capital gain/loss Controlled by its own per-entity setting, separate from liquidity. The case for a disposal is weaker here: you keep ownership and are entitled to the specific asset back.
Add Liquidityadd_liquidity Capital gain/loss Controlled by a per-entity setting, on by default: supplying a pool mixes your asset with other people's and hands back a receipt, so ownership plainly moves.
Send Receipt Tokensend_receipt_token Not taxable —
Staking Depositstaking_deposit Not taxable Delegating to a validator doesn't change who owns the coins, so it isn't a disposal — and the cost base is not reset on the way back out.
Liquidationliquidation Capital gain/loss —

Other incoming

CategoryDefault treatmentNotes
Loanloan Not taxable Borrowed principal is not income and not a disposal — it is a liability. Only what you do with the borrowed asset afterwards can be taxable.
Share Vestequity_vest Income —
Option Exerciseequity_exercise Income —
Fund Tax Statementfund_tax_statement Not taxable —
Fiat Depositfiat_deposit Not taxable —
Airdropairdrop Income Not income on receipt by default. What matters is the market value when you dispose of it.
Chain Splitchain_split Not taxable New coins from a fork start with a nil cost base under both rulesets, so the whole proceeds are a gain when sold.
Giftgift Not taxable —
Salessales Income —
Super Contribution Receivedsuper_contribution_received Income —
Incomeincome Income —
Interestinterest Income —
Miningmining Income —
Mintmint Not taxable A token created into your wallet rather than sent to it. Controlled by a per-entity setting. When it is on (the default), the tokens are yours; when it is off, tokens you mint against someone else's deposit and pass on were never your CGT assets, though anything you keep still is.
Loan Repayment Receivedloan_repayment_received Not taxable Getting your own capital back is not income, however large. Only interest actually charged on the loan is.
Rebaterebate Not taxable —
Royaltiesroyalties Income —

Outgoing

CategoryDefault treatmentNotes
Loan Repaymentloan_repayment Capital gain/loss Repaying principal is not a disposal of the repaid asset's value to you; interest is an expense. Handing over crypto to discharge the debt is still a disposal of that crypto — usually a nil gain on a stablecoin, but a real one otherwise.
Loan Madeloan_made Capital gain/loss Lending money out is not a deduction — the value becomes a receivable rather than leaving. Where a company lends to a director or their associate, Division 7A decides whether the ATO recharacterises it as an unfranked dividend.
Fiat Withdrawalfiat_withdrawal Not taxable —
Burnburn Capital gain/loss —
Lostlost Capital gain/loss A capital loss requires evidence the asset is genuinely unrecoverable, not merely that it has fallen in value.
Outgoing Giftoutgoing_gift Not taxable —
Personal Usepersonal_use Capital gain/loss An Australian concession, available only in limited circumstances and never for something acquired as an investment. No US equivalent.
Stolenstolen Capital gain/loss Treated as a loss at the point of theft, on the same evidentiary footing.

Expenses

CategoryDefault treatmentNotes
Approvalapproval Capital gain/loss —
Expenseexpense Capital gain/loss —
Feefee Capital gain/loss Network and exchange fees are disposals of the coins spent, and a cost that reduces your net position.
Staking Activationstaking_activation Capital gain/loss —
Wageswages Capital gain/loss —
Super Contributionsuper_contribution Capital gain/loss —
Invoice Paymentinvoice_payment Capital gain/loss —

Banking & cards

CategoryDefault treatmentNotes
Card Purchasecard_purchase Not taxable —
Credit Purchasecredit_purchase Not taxable —
Bill Paymentbill_payment Not taxable —
Bank Feebank_fee Not taxable —
ATM Withdrawalatm_withdrawal Not taxable —
Refundrefund Not taxable —

Derivatives (incoming)

CategoryDefault treatmentNotes
Decrease Positiondecrease_position Not taxable —
Receive Position Tokenreceive_position_token Not taxable —
Realized Profitrealized_profit Income Derivatives settle in cash rather than by disposing of a holding, so profit and loss are recognised as they settle.

Derivatives (outgoing)

CategoryDefault treatmentNotes
Increase Positionincrease_position Not taxable —
Send Position Tokensend_position_token Not taxable —
Realized Lossrealized_loss Income The mirror of settled profit.
Margin Feemargin_fee Capital gain/loss —

Other

CategoryDefault treatmentNotes
Incomingincoming Ignored —
Outgoingoutgoing Ignored —
Unknownunknown Ignored —
Tradetrade Capital gain/loss —
Wrapped Tokenswrapped_tokens Capital gain/loss Controlled by a per-entity setting that defaults to a disposal. Wrapping is a genuine grey area: you receive a different asset, but one that tracks the original exactly.
Reflection Tokensreflection_tokens Not taxable —
Rebase Tokensrebase_tokens Not taxable —
Cross-Chain Tradecross_chain_trade Capital gain/loss —

Defaults, not verdicts

Several treatments above are genuinely contested, and those are controlled by a per-entity setting rather than decided for you — wrapping, bridging, supplying liquidity, posting collateral, and tokens you mint yourself. Each defaults to the position that needs no supporting paperwork, and each can be changed per entity, because two entities in one account can legitimately take different positions — and can sit in different countries.

Anything you categorise by hand is never overwritten by an automated pass.

Where a category isn't the whole answer

Your entity's jurisdiction, type and settings all feed the final numbers, and the treatments above are the shared starting point rather than the answer. Under Australian rules a parcel held over twelve months may attract the CGT discount, and an SMSF's rate depends on its phase; under US rules the same parcel is instead split into long-term and short-term, stacked on ordinary income, and a C-corp pays a flat rate with no preferential treatment at all. The category decides what kind of event something is — the ruleset decides what that means for the entity holding it.

Grubless is a calculator, not a tax agent. Positions that depend on your circumstances or your paperwork are yours and your accountant's to take.