← Back to Nah Crypto Tax Tracker

Pump.fun taxes: how to record bonding-curve trades

Published by the maker of the Nah Crypto Tax Tracker (paid product, see the end of this page).

Not tax advice. This guide is general information for organising records. Tax rules differ by country and change over time; check your own situation with a qualified tax professional. Nothing here promises any tax outcome.

Nah is not affiliated with, endorsed by or sponsored by Phantom, Pump.fun, Solscan or Solana. Names are used only to describe where data comes from. Crypto assets are volatile; you can lose some or all of your money. Do your own research.

Pump.fun made launching and trading new Solana tokens fast, and that speed is exactly what makes record-keeping painful. A busy afternoon can produce dozens of trades in tokens that are gone by the evening. This guide covers record-keeping, not the tax law of your country.

What a pump.fun trade looks like in your records

Buying a token on pump.fun means paying SOL and receiving the token. Selling means the reverse. In a tax log, each of those is typically recorded as two events: disposing of one asset and acquiring another, valued in your home currency at the time. Whether and how each disposal is taxed depends on your country, so check your local rules.

Example pump.fun buy and sell as four Trade Log rows: paying 0.2 SOL (worth 30) for 1,000,000 PUMPX gives a token cost of 30.50 including 0.50 fees; selling 500,000 PUMPX for 0.25 SOL (worth 40) gives proceeds of 39.50, a FIFO cost basis of 15.25 and a gain of 24.25.
Example data. The log also contains an earlier SOL Buy (not shown) so the SOL Sell row is not OVERSOLD. Not tax advice.

Why the SOL row can show OVERSOLD

If you log a pump.fun buy as "Sell SOL + Buy token", the SOL row is a Sell. The workbook checks every Sell: if you sell more of a token than your earlier Buys of that token add up to (by date; on the same date, only Buy rows above it count), the Check column shows OVERSOLD, and FIFO cost basis isn't calculated for that row. So a log that starts with your first pump.fun trade, without the SOL you bought before, will flag the SOL leg.

The fix: first log how you got the SOL, as a Buy row with its date, quantity, price and fee (for example the exchange purchase before you sent SOL to your wallet). If you got the SOL some other way, ask your advisor what cost to use. Then the SOL Sell rows have lots to draw from. The Summary tab counts rows that aren't OK; fix every flagged row before relying on any figure.

How fees go into the spreadsheet

A trade often has two costs: a platform or trading fee, and the Solana network fee. The Nah workbook has one Fee column, entered in the same fiat currency as your prices. So add both fees together and convert them to fiat at the time of the trade. For example (made-up numbers): a trading fee of 0.002 SOL plus a network fee of 0.00001 SOL, with SOL at 150, gives (0.002 + 0.00001) × 150 = 0.3015 in the Fee column. The workbook adds the fee to a Buy's cost (qty × price + fee) and subtracts it from a Sell's proceeds (qty × price − fee). When a swap is logged as two rows, enter the combined fee on one row only, so it isn't counted twice. In our examples it goes on the token's row (its Buy when you buy, its Sell when you sell). Pick one rule, keep it all year, and ask your advisor if your country treats fees differently. The Summary tab also totals the Fee column per year. How fees are treated for tax depends on your country.

Does pump.fun send you a tax form?

You trade from your own self-custody wallet (Phantom, for example, issues no tax forms; see the export section below). We haven't found an official pump.fun statement about tax reporting, so plan on building your own records from on-chain data.

Exporting your Solana history

Phantom doesn't issue tax forms; its help center points you to block explorers such as Solscan (Phantom). Paste your public address (never your recovery phrase) into solscan.io and use Export CSV. Each export returns only the latest 1,000 records (Solscan), so export by date range and repeat for every address. Step-by-step Solscan export.

Pump.fun trades usually show up under DeFi Activities or Balance Changes rather than plain Transfers. Spot-check a few rows before trusting a whole file.

Pricing tokens that barely existed

Many pump.fun tokens never get a reliable price feed. The cleanest approach is usually to value each trade by the SOL side, which does have a market price, and note the source you used for the SOL/fiat rate. Stick to one method all year.

Rugs and dead tokens

Tokens that go to zero are common. How a worthless token is treated is a question for your tax advisor. Practically: keep the token rows in your log and save the Solscan link. The workbook has no Worthless type: you can only write the date it became worthless in the Notes column, and that note is not calculated. If you sold it for dust, that sale is a normal Sell row with tiny proceeds.

Example: selling the remaining 500,000 PUMPX for dust is a normal Sell row with proceeds of 0.49, cost basis 15.25 and a realized loss of 14.76; the Summary then shows a PUMPX holding of 0.
Example data computed with the Nah Crypto Tax Tracker v1.1.2. Illustration only, not tax advice.

Several wallets

The sheet runs FIFO across everything in one file. If you need separate records per wallet, use one copy of the sheet per wallet and keep a separate record of own-wallet transfers; the sheet does not carry cost basis between copies. Whether you need this is a question for your tax advisor. More on several wallets.

Can a spreadsheet handle pump.fun trading?

For occasional trading, yes. A clear log with FIFO per token gives you transparent gain/loss figures. For hundreds of trades a week, manual entry stops being realistic. Software that imports by public address, plus your own Solscan backups, is the more sensible route, ideally reviewed by a crypto-savvy accountant.

A quick checklist

  1. List every wallet you traded from.
  2. Export each one from Solscan, sliced by date to stay under 1,000 rows per file.
  3. Log how you got your SOL first, then record each buy and sell as two sides (Sell + Buy), with the combined fee in fiat on one row.
  4. Value by the SOL side and note your price source.
  5. Note transfers between your own wallets in the Notes column (not calculated); a dead token you sell for dust is a normal Sell row, and one you can't sell at all can only be noted in Notes (ask an advisor how to treat it).
  6. Keep transaction signatures for every row.

Related guides

About our spreadsheet

We sell the Nah Crypto Tax Tracker: an .xlsx template plus a PDF guide for 29 USDC. You log buys and sells (a swap is entered as a sell plus a buy), and it works out FIFO cost basis, realized gain/loss per year and current holdings by token. Airdrops are not calculated automatically: you can log them manually as a Buy row at a value you choose (e.g. 0 or fair value; ask an advisor which), as explained in the guide. The workbook accepts only Buy and Sell rows; transfers and staking can only be noted in the Notes column and are not calculated. It has one Fee column (in fiat), and its Summary covers the years 2024–2030. It is not tailored to any country's tax rules. It is not a tax calculator: it gives you gain/loss figures, not the tax you owe. It does not calculate what you owe under any country's law, it has no wallet import, and delivery is manual: after paying you email your order reference and get a download link, usually within 24 hours. If you have thousands of trades, auto-import software is probably the better fit. There's also a free trade-log template.

Not tax advice; consult a qualified tax professional. Sources were checked on 15 October 2026; information may become outdated. Nah is not affiliated with, endorsed by or sponsored by Phantom, Pump.fun, Solscan or Solana. Names are used only to describe where data comes from. Crypto assets are volatile; you can lose some or all of your money. Do your own research. Nah Crypto Tax Tracker · Contact: fabio-agent@mail.grokbot.com