Crypto Record Keeping: Build a Traceable Ledger
A conceptual record diagram, not a platform screen or real account data.

You have downloaded a few files. Start with one month for which the records are reasonably easy to find: list the accounts you used, save the downloads, and choose one asset to check. How much did you have at the start, what came in or went out, and how much remained at month-end?

This guide takes you from that first list to a ledger you can continue next month. Prices and performance can wait until you can explain the quantities. All examples are fictional and demonstrate record keeping only; they are not investment recommendations or a method for determining your tax obligations.

What should your first worksheet contain?

At the top of the worksheet, write which accounts and wallets you will check, the dates, and the time zone. That tells you how to treat a transfer: did it come from outside the accounts listed, or move between two wallets already on the sheet?

For example: “Personal account A, Spot and Funding wallets, August, using UTC; external wallet B is excluded.” If you add wallet B next month, keep the old worksheet and name the added wallet in a new version. Recheck transfers involving B: what previously left the accounts you were checking may now be an internal movement.

Fictional scope register
ItemExample entryPurpose
Account aliasPersonal account AIdentify the account without publishing its full identifier
IncludedSpot and Funding walletsDefine which movements may cancel within the scope
ExcludedExternal wallet BExplain movements across the boundary
PeriodAugust 1 at 00:00 up to, but not including, September 1 at 00:00Give adjacent periods an unambiguous boundary
Time basisUTCMake records comparable
StatusFiles obtained; reconciliation pendingSeparate downloading from checking

Include accounts that ended the month with zero assets if they had activity during the month. A wallet can receive and send the same amount and still finish at zero. Conversely, an unused account does not need invented transactions. Distinguish “not used,” “checked with no activity,” and “not yet checked.”

Give accounts names you can tell apart, such as “Personal account A” and “Personal account B,” especially if several platforms call them “Main.” Keep a private reference file connecting those names to the real account identifiers. You can use the short names in everyday files and still find the right account when checking a record.

How should originals and working files be separated?

Keep downloaded originals, editable working files, and readable results in separate locations. An original lets you revisit the evidence after a spreadsheet changes a date, a classification proves wrong, or an import fails.

2026-08/
  01-originals/
  02-working/
  03-results/
  index.txt

Use folder names that make sense to you. Save the download in originals, then copy it into working before changing dates, rearranging columns, or adding notes. Leave unfamiliar fields in the original so you can return to them later. If a filename exposes a private identifier, rename the shared copy and keep a private note of its original name.

A file downloaded on September 3 may contain August activity. File it with August and note the download date separately.

For the next download, check the period before adding anything to your ledger. Another August export needs comparison with the first; a September export may contain the next month's activity. Notes such as “August replacement to check” and “September records” make the difference easier to spot.

Where practical, retain an original filename and original row reference in the working sheet. Sorting should not change that reference. If one source row becomes several analysis rows, keep their shared source reference and add a separate analysis sequence. Your notes should still lead back to the same evidence after the worksheet changes.

How do you check that activity types are covered?

List the services you actually used and identify a suitable source for each kind of activity. Trades, deposits, withdrawals, transfers, conversions, fees, and rewards can affect quantities, but they may not all appear in the same report.

A trade file may explain a purchase without explaining an increase in a different wallet. A dated account snapshot can show holdings without explaining the events between two snapshots. Use activity records for the movement and snapshots for reference points. For a platform example, see the Binance export and completeness guide.

  • Which accounts and products did you actually use during the period?
  • Is there evidence for each relevant activity category?
  • Do two reports describe the same event from different angles?
  • Do the opening and closing observations match the activity period?
  • Can every missing item be described by account, period, and record type?

If a file is still missing, write down what you need: “Funding wallet, August movements, not yet downloaded,” for example. Leave it marked as pending until you have checked it. A zero in that cell would make it harder to remember that records still need to be found.

Which fields should a record retain?

For each row, keep the time, account, activity type, asset, quantity with its direction, and the file it came from. Add available fee assets, identifiers, status, and remarks when they help explain the event. Keep enough detail to find the original record again.

Always read the quantity with its asset name. Two units of one asset and two units of another need separate calculations. If you also want a combined value, use a separate valuation sheet and record the currency, price source, and observation time. Keep the original asset quantities alongside that work.

Preserve the original direction convention. One report may use signed changes while another separates positive incoming and outgoing amounts. You can normalize them in a working column, but document the rule. A positive outgoing amount converted to a negative change is your mapping choice, not a correction to the platform's original.

Keep original time text and its stated time zone. Put converted times in new columns. Long identifiers and asset codes often need text handling, while quantities need a deliberate decimal interpretation. Passwords, verification codes, and recovery secrets have no place in a transaction worksheet.

How do you reconcile one asset?

Within one scope and period, start with the opening quantity, add inflows, subtract outflows, and subtract only fees that have not already been included in those outflows. Compare the result with the actual closing quantity.

Fictional movements in one asset
ItemQuantityMeaning
Opening100Verified starting point
Incoming+40Enters the chosen scope
Outgoing−15Excludes the separately recorded fee
Separate fee−1Not previously deducted
Expected closing124100 + 40 − 15 − 1

If the actual closing quantity differs from the calculated 124 units, keep both figures and write down the difference. Then check:

  • Is a movement missing?
  • Does the closing balance use the same cutoff time as the activity records?
  • Did the report leave out an account you intended to include?
  • Was a fee deducted separately, or already included in an outgoing amount?

Record the cause when you find it. Adding an “other fee” without a matching record may make the totals agree, but it leaves the actual event unexplained.

To narrow the search, look for the first point where the quantities stop agreeing. Split the month into smaller intervals, starting from a balance you have verified. If the opening quantity itself is unknown, note that first; smaller intervals will still carry the same uncertainty.

Finish one asset before moving to the next. A conversion may connect two or three assets, but each still needs its own quantity calculation.

How should internal movements be paired?

Check whether both endpoints are inside your scope. If they are, the transfer changes location rather than creating assets. If only the receiving wallet is included, the receipt crosses that narrower boundary and belongs in its inflows.

In a fictional example, wallet A holds 300 units and wallet B holds 20. A sends 50 to B without a fee. The resulting balances are 250 and 70, still totaling 320. Counting B's receipt as new income while ignoring A's reduction would overstate the combined result.

Use direction, account, asset, quantity, time, and available identifiers to establish a relationship. Matching amounts and nearby timestamps create candidates, not proof. Several equal transfers can occur on the same day. Keep both source entries after confirming a pair; cancel their internal effect only in the combined analysis.

If the two sides differ, investigate explicit fees, partial entries, and scope differences. Do not force them to match. An unresolved endpoint belongs on the issue list until evidence explains it.

How do you prevent duplicate imports?

Maintain an export register before merging files. Record original date selections, time zone, account filters, asset filters, download time, row count, and adoption status.

A later download for the same period may replace an earlier version or simply duplicate it. Compare before appending. If the later file contains additional valid records, document whether you replaced the earlier file or added specific supported entries.

Where identifiers are reliable, compare them alongside the account and event type. Without identifiers, a combination of time, direction, asset, amount, and remarks can identify candidates, but it is not necessarily unique. Keep the originals even when an analysis row is excluded, and record why it was excluded.

What makes an unresolved item useful?

Write the problem so you can resume it next month without starting again. For example: “Wallet B's expected closing quantity exceeds the snapshot by two units; month-end conversion records remain unchecked.” Add the asset, dates, and checks already completed. The note now tells you which records to find next.

Keep the actual and expected values separate. Do not classify a gap as theft, fees, or income before establishing the cause. If support is needed, prepare a redacted summary with only the relevant period, product, and error. Use a verified official channel for any further private evidence.

If an old opening balance cannot be established, you can start from a later verified point and mark earlier history as unreconciled. That provides a useful forward boundary without inventing an old deposit to make the present balance work.

What should remain in the month-end archive?

At month-end, save the original downloads, a file list, your quantity checks for each asset, and the unfinished questions. On the results, write which accounts were included, which files you used, and when you reviewed them.

You can save a balance snapshot with the files; the detailed records explain how that balance changed. Track progress with separate boxes for “files downloaded,” “accounts and dates checked,” and “quantities reviewed.” If you only finished downloading, the remaining boxes show where to resume.

Test a backup by opening files and following one result back to its source. If the backup is encrypted, ensure that you can recover access without placing its secrets in a shared index. Before sharing a copy, inspect hidden sheets, comments, filenames, and embedded material for private identifiers.

Carry a verified closing quantity into the next period with its source reference. If an earlier mistake is discovered, retain the old result and create a correction version. Explain whether later opening balances changed because of new evidence or a revised interpretation.

Can an old worksheet still be useful?

Yes, if you can understand its rules and recover its sources. Preserve a read-only copy before changing it. Check its time zone, account scope, fee treatment, and meaning of labels such as “income.”

Mark unsupported manual entries as estimates or source gaps rather than turning them into apparently official records. Rebuild one well-documented period and compare it with the old result before replacing years of work. When changing software, use that period as a migration test and compare quantities and classifications, not just the import success message.

How much documentation is enough?

Write a short note for yourself a few months from now. For example: “Used the second August download because the first missed one activity type. Kept the first for reference. Converted times to UTC in a new column; original times remain. External wallet B was not checked.” Adjust it to what you actually did.

A reading guide can also explain how you treated positive and negative amounts and why particular duplicate candidates were left out. Put any important missing records or unresolved quantities beside the result, where someone reading the total will see them. You can share the method or a blank worksheet while keeping your financial records private.

Where can the first session reasonably end?

The first session has produced something useful when you can name the accounts and assets checked, describe any remaining differences, and say what to do next. You can keep working through older history from there.

Try the process on a quiet month with records you can readily find. Check that the folders are easy to use, the columns make sense, and the closing quantity agrees. If you need to change software, time zones, or asset labels, make those changes separately and compare the results after each one.

Before finishing, check in both directions: choose a result and find its original records, then choose an original entry and find where it appears in the worksheet. The first check helps you explain a number; the second can reveal an entry you missed.

REKQO editorial desk

This editorial byline identifies REKQO content. Worked examples are labelled illustrations. Our editorial policy explains source checks and corrections. Editorial policy