You can download your Binance trade history as a CSV file from the website: open Orders → Spot Order → Trade History and choose Export. Long histories may need several exports, because Binance caps how many months one file can cover.
Perly App imports transaction history from CSV files, the export every serious exchange offers and the one format that needs no API keys, no OAuth grant and no ongoing connection. The steps for Binance are below, with what to glance at before you import the file anywhere.
The export
- Sign in to Binance on the web — the app hides some export options that the site shows.
- Open Orders → Spot Order → Trade History (for trades), or Wallet → Transaction History for deposits and withdrawals.
- Look for Export — Binance calls it “Export Trade History” or offers it behind a small download icon — and pick a date range. Long histories may need to be exported in chunks; Binance caps how many months one file can cover.
- Choose CSV as the format and confirm. Larger exports are generated asynchronously and appear under the export button when ready.
- Download the file and open it once before importing: you are looking for one row per fill, with date, pair, side, price, quantity and fee columns.
Exchange interfaces move; menu names drift. If a label above has changed, the feature is still there — search the exchange's own help for “export history CSV”.
Before you import it
- Binance timestamps are in UTC. Perly stores the execution time you provide, so import them as they are — consistency matters more than timezone.
- Fees on Binance are often charged in the asset you bought (or in BNB). A fee charged in BTC reduces what you actually received; check how your rows express it before confirming an import.
- If you traded BTC for another currency, the row keeps it: a BTCEUR fill is a trade in euros, turned into dollars at the European Central Bank's rate for its day — the National Bank of Ukraine's for the hryvnia. Stablecoin pairs such as BTCUSDT count as dollars.
What the import does
Perly detects the columns, shows you every row it intends to write, flags likely duplicates and leaves them unticked. Nothing is written until you confirm it — a ledger you cannot trust is worse than no ledger, and the fastest way to an untrustworthy one is a silent import. Cost basis, PnL and ROI are then recomputed from your full history; the arithmetic is explained in Average cost vs FIFO.
The same export on other exchanges: Coinbase · Kraken. Why a CSV and not an API key: six questions to ask any tracker.