Select for your records and US output

Start with the exchanges and wallets you have actually used, the years you need to reconstruct, and your transaction count. Check that a tool can export the US forms or detailed schedules you need, handle USD valuation, and retain an editable transaction-level audit trail.

A product supporting XRP does not guarantee that its importer handles every payment, token, exchange CSV revision, or complex ledger transaction correctly. Test a sample of your own data before committing to a paid plan. Do not assume a Germany-focused tax report is suitable for a US return.

Import each source once

Create an inventory of exchange accounts, wallets, and archived CSVs. Record the date range of each import. An API import and a CSV for the same trades can double-count transactions unless the tool deduplicates them correctly.

Use read-only API permissions if an exchange connector is necessary. A tax service needs transaction history, not permission to trade or withdraw. A public XRPL address import needs no secret key. Keep the raw export so you can reproduce an import later.

Fix “not enough units” in four steps

An insufficient-balance or missing-cost-basis warning means the working history does not explain the disposal. It can arise from a missing earlier purchase, a transfer imported as a sale, duplicated withdrawals, or a fee counted twice. The warning is a useful clue, not a price calculation.

  • 1. Find the first date on which the running XRP balance becomes negative.
  • 2. Compare that row with the original trade confirmation or ledger transaction.
  • 3. Search the sending account for the matching acquisition or self-transfer and check fees.
  • 4. Correct the source or classification, rerun the report, and retain a note explaining the change.

Check the XRP-specific rows

Compare the gross amount sent, the amount delivered, and the network fee. Account reserves affect available spending balance but do not by themselves explain a taxable sale. Account deletion, escrow, exchange deposits, and token transactions need their own interpretation.

Keep issued assets separate by currency code and issuer. A token named XRP is not automatically native XRP. Reconcile both sides of an exchange withdrawal and look for transactions outside the importer’s history window.

Review the output before using it

Sample several purchases, swaps, fees, and transfers against original evidence. Confirm the unit-identification method and examine missing-basis warnings before generating the final USD schedules.

Broker reporting has changed over time, and a transferred-in asset can still need earlier records. Use the current IRS form instructions and reconcile your software output with any broker form. Export the transaction detail, settings, unresolved exceptions, and final report together.

Keep exploring