IRAS publishes a list of exactly what your crypto records should contain. It is eight items long, it sits in section 12 of a public e-Tax Guide, and almost nobody who trades has read it.
Here it is, verbatim:
"Taxpayers should keep proper records of transactions and provide them to IRAS upon request. These supporting records should include information such as: Date of transaction · Number of units of digital tokens received or sold · Value of digital token at the time of the transaction · Exchange rate used · Purpose of the transaction · Details of customers/suppliers (for buy-sell transactions) · Details of the ICO · Receipts/invoices of business expenses"
Now compare that against the CSV your exchange will hand you.
Four of eight, and the fifth — the exchange rate — is their rate at their timestamp, which is not automatically the rate you should be recording.
The four missing items cannot be reconstructed later. You cannot work out in 2029 why you moved 0.4 ETH in March 2026, or who was on the other end of an over-the-counter trade, or whether that outgoing transfer was a purchase, a gift or a payment for work. Either you wrote it down at the time or the information is gone.
Three countries, three different questions
The term "crypto tax" is misleading. Tax authorities in this region aren't asking variations of the same question. They're asking different questions, and records that satisfy one regulator won't satisfy another.
Singapore asks what you meant to do
Singapore has no capital gains tax. That is the part everyone knows, and it is where most people stop reading.
The part that matters is that a disposal judged to be trading rather than investing is taxable as ordinary income — and IRAS decides which it was by applying the badges of trade to your facts. From the same guide:
"The purchase of a payment token is not a taxable event. However, the intention at the point of purchase would be considered (through the application of the badges of trade) to determine if subsequent disposal of the payment token is a trading activity, and hence whether the resulting gain/loss is revenue in nature."
Your intention at the point of purchase is evidence. Not a label you apply afterwards, and not something an exchange records. It is the sort of thing a one-line note written on the day carries convincingly and a reconstruction three years later does not.
Two other points on Singapore's rules. A payment token is "intangible property", not currency, so paying for something with it is treated as barter trade — and the value to record is that of the goods or services, determined at the point of transaction, not the token. And mining, for an individual, is "prima facie" a hobby whose disposal gains are capital and untaxed — unless you show "a habitual and systematic effort to make a profit", at which point you are carrying on a vocation and it is all taxable.
Malaysia asks the same question, then asks for ringgit
Malaysia has the same structure: no capital gains tax, with the badges of trade used to decide if a gain is taxable revenue.
The difference is mechanical and it bites. LHDN requires acquisition cost to be determined in ringgit, on a first-in-first-out basis. Where the acquisition cost cannot be determined, fair value applies — the rate in force on the day of the transaction, from a verifiable exchange, with approved exchanges listed by the Securities Commission.
A Malaysian holder therefore needs something a Singaporean one does not — a ringgit value for every acquisition, recorded at the time. If you bought BTC with USDT on an offshore exchange, no part of that transaction happened in ringgit and nothing in your export will contain one. That conversion is yours to record.
Indonesia does not ask about your gain at all
Indonesia taxes the transaction, not the profit. Under Minister of Finance Regulation No. 50 of 2025, in force since 1 August 2025, a seller pays a final income tax of 0.21% of transaction value through a domestic licensed exchange, or 1% where the platform is offshore.
Final means final: no return to reconcile, no gain to compute, and cost basis is irrelevant to the tax. The exchange withholds it, issues a withholding slip and reports it.
The same regulation reclassified crypto assets as securities rather than intangible goods, which removed VAT from the transfer itself — though supporting services still carry it, at an effective 11% for exchange services and 2.2% for miner verification. Supervision moved from Bappebti to the OJK in the same shift.
PMK 50/2025 replaced PMK 68/2022, under which the rate was 0.1% domestic and 0.2% offshore with VAT charged. If you have a note somewhere saying Indonesian crypto tax is 0.1%, it has been out of date for a year.
So what do you actually keep?
The eight-item IRAS list is a good schema for all three countries because it is a superset of their requirements. Singapore wants purpose and intention; Malaysia wants a ringgit cost; Indonesia mostly wants the transaction values, which are the easy part. Record all of it and you can answer any of the three.
In practice that means a running log with one row per event, containing:
Where to keep it barely matters — a spreadsheet is fine, and dedicated crypto-tax software is worth it above roughly fifty transactions a year because reconciling by hand stops being possible. What matters is keeping the log as you go, to capture the four details an exchange export never will.
Two of our tools help with the mechanical part. Our bitcoin converter turns a holding into a home-currency figure, which is the step Malaysian record-keeping requires and no offshore exchange performs for you. And if you buy on a schedule, our DCA calculator shows what regular buying does to your average cost — worth looking at before you start, because every scheduled purchase is a separate tax lot, and a year of weekly buys is fifty-two of them to track under FIFO.
One practical note on wallet transfers: moving coins between your own wallets is not a disposal anywhere in this region, but it looks exactly like one in a raw export — funds leave an address and arrive at another. If those two rows are not annotated as a self-transfer at the time, a later reconciliation will read them as a sale and a purchase, and you will spend a weekend proving otherwise.
Start the log today rather than at year end, because the four fields an exchange cannot give you are the four you cannot reconstruct. Write your intention down at purchase if you are in Singapore or Malaysia — it is the evidence the badges of trade run on, and a contemporaneous note carries weight that hindsight does not. Record a home-currency value at the time of every acquisition, in ringgit specifically if you are Malaysian. Annotate self-transfers as they happen. Check which regime you are in before trusting any calculator: a tool built for gains is answering the wrong question entirely for an Indonesian reader. And if your position is anything other than simple, take local advice. The trading-versus-investing line is decided on facts, which is why preserving them matters.
What this audit found in our own tools
Every guide here starts by reading the source of the tools it will link to. This one found the worst defect of the series so far.
Our crypto tax calculator was over-stating tax by up to 95%. It took the single marginal rate at your total income and applied it to the entire gain, then displayed the result in a field labelled "effective rate". For a gain that straddles a bracket threshold that is badly wrong: on USD 40,000 of income and a USD 20,000 long-term gain it reported USD 3,000, where the correct figure is USD 1,583 — because the first USD 9,450 of that gain sits in the 0% band. Someone could have decided not to sell on the strength of a number nearly double the real one.
It now stacks the tax bracket by bracket. The straddling case returns USD 1,583 for a 7.9% effective rate against a 15% top rate, and the rate field now says "top" so the two cannot be confused.
The same tool told non-US readers that Indonesia charges "0.1% transaction tax + 22% income tax for trading". Both halves have been wrong since PMK 50/2025 came into force on 1 August 2025 — a year to the day before we caught it. It now carries the current rates, names the superseded figure so a returning reader knows what moved, and covers Singapore and Malaysia, which were absent from a page on an ASEAN-first site.
Two things the audit did not find, in fairness to the tool: it is honestly scoped — its description says "United States federal capital gains tax", and it carries a jurisdiction disclaimer and a freshness stamp. The problem was arithmetic and one stale footnote, not mislabelling.
One structural oddity stood out. Our crypto-web3 category has ten tools, but four of them — HMAC, TOTP, RSA and bcrypt generators — are cryptography, not cryptocurrency, and face no regulatory risk at all. Meanwhile the tax calculator, the staking calculator and the DCA calculator all live under finance-money. An audit scoped by category name would have walked straight past the tool that turned out to be wrong.
- The eight-item record-keeping list, the badges-of-trade passage on intention at purchase, the characterisation of payment tokens as intangible property and the barter-trade treatment, and the mining passage are all quoted verbatim from the IRAS e-Tax Guide "Income Tax Treatment of Digital Tokens", read directly from the PDF on iras.gov.sg on 1 August 2026 (record-keeping is section 12; characterisation is section 5.1).
- Malaysia's position — no tax on capital-nature gains, badges of trade in Appendix A, and acquisition cost in ringgit on a FIFO basis with fair value as the fallback from a Securities Commission-approved exchange — is from the Inland Revenue Board's Guidelines on the Tax Treatment of Digital Currency Transactions of 26 August 2022, second edition December 2025. ⚠️ These are cited at second hand, via EY Malaysia's tax alert on the guidelines: hasil.gov.my's document server returned 404 on every path tried on 1 August 2026, as it did for our cross-border tax guide the same day. The site root responds; the document store does not.
- Indonesia's rates and reclassification are from Minister of Finance Regulation No. 50 of 2025, effective 1 August 2025, replacing PMK 68/PMK.03/2022 — final Article 22 income tax of 0.21% via a domestic PPMSE and 1% offshore, crypto reclassified as securities with VAT removed from the transfer, supporting services at effective rates of 11% and 2.2%, and the exchange acting as withholding agent. Detail from Assegaf Hamzah & Partners' and Rajah & Tann's notes on the regulation, read 1 August 2026.
- The US bracket figures used to quantify our own calculator's error are the 2026 long-term capital gains thresholds already carried in the tool, sourced there to IRS Rev. Proc. 2025-32. The corrected arithmetic was verified in a browser against three cases on 1 August 2026.
- The tool inventory, category placement and the stale Indonesian figure were read directly from our own source on 1 August 2026 and fixed in the same session.
This is about record-keeping, not investing. Nothing here is trading, financial or tax advice, and no view is expressed on whether to hold or dispose of anything. Tax treatment turns on facts specific to you — in Singapore and Malaysia particularly, on whether your activity amounts to trading — and this area changes faster than almost any other, which is why every figure above carries the date it was read. Take local professional advice before acting.