A tax accountant in the United States receives a client holding Monero (XMR). The client is required by their CPA and the IRS to provide a complete record of acquisition dates, amounts, and sale proceeds for each transaction. The challenge is immediate: Monero’s privacy design obscures transaction amounts and recipient addresses on the public ledger, which means the client cannot simply hand over a blockchain link. The accountant needs transaction history, but requesting the client’s spend key would be catastrophic for security. The alternative is a controlled export: a view-only key and a signed transaction log that proves the client authorized the disclosure without exposing the ability to spend the funds.
This problem appears straightforward but contains several operational and legal layers. A monero wallet download must support view-only exports, the accountant must understand the technical relationship between view keys and privacy, and both parties need to recognize what information remains hidden even after an audit export is provided. In jurisdictions such as the European Union, where Article 79 of the AMLR restricts anonymity-enhancing coins effective July 2027, the ability to produce an auditable record may become a compliance requirement rather than a voluntary practice. Getting the export wrong can mean either failing the audit or accidentally exposing keys that should have remained confidential.

Understanding view-only keys and why they exist
Monero’s core privacy model rests on three cryptographic secrets: a spend key (used to authorize transactions), a view key (used to detect incoming payments), and each transaction’s private key (used to create proof of ownership). The spend key is the nuclear secret; losing it means all funds are permanently inaccessible. The view key is a controlled secret; sharing it allows someone to see all incoming and outgoing transactions associated with the wallet without being able to spend the funds. This asymmetry is deliberate. A view-only key is mathematically derived from the spend key in a way that prevents reversal. Knowing the view key does not compromise the ability to spend.
When a client provides their view key to an accountant, the accountant can synchronize with the Monero network, download transaction metadata, and reconstruct the wallet’s activity history. The accountant sees the transaction amounts, timestamps, and the receiving addresses the client created. What the accountant cannot do is create new transactions, authorize transfers, or derive the spend key. The official Monero project documentation specifies this distinction to help users understand that a view-only key is a legitimate audit tool, not a security bypass.
However, sharing a view key still carries non-zero risk. The view key, combined with sufficiently granular blockchain analysis or timing correlation, might reveal patterns that could later be linked to the client’s identity. If the accountant’s office is compromised, the view key is exposed along with any other client data. The view key should be treated as sensitive information, not as freely shareable. Best practice is to generate a separate view-only export specifically for the audit engagement, revoke it after the work is complete, and store it using the same access controls applied to other confidential client documents.
Different wallets implement view-only exports differently. When using a monero wallet download such as monero wallet download from official or verified sources, the application should provide an explicit export function that generates the view key and, optionally, a restore height (the block number at which the wallet became active, which speeds up resynchronization). The user should review the export process carefully to confirm that only the view key and metadata are being exported, not the spend key, mnemonic phrase, or any other secret material.
Exporting transaction logs from Monero GUI and CLI wallets
The official Monero GUI wallet includes a view-only export option. To access it, the user opens the wallet, navigates to the Settings menu, and selects the Keys tab. An option labeled “Create a view-only wallet” or similar displays both the view-only address and the view key. The user copies the view key (a long hexadecimal string) and, if the accountant will be resynchronizing from scratch, also notes the restore height displayed in the wallet information section. This restore height should match the block at which the wallet first received funds or slightly earlier; providing an incorrect height may force the accountant’s view-only wallet to rescan unnecessary blocks.
Exporting the actual transaction history requires a second step. From the History tab in the GUI, the user can select transactions, and some versions of the GUI allow direct export to a CSV or JSON file. However, this functionality varies by GUI version. A more reliable method is to access the wallet’s log files directly. The Monero GUI stores wallet cache files in the wallet directory; these files contain transaction metadata that can be reconstructed by the accountant’s view-only wallet upon resynchronization. Alternatively, the user can use the Monero CLI (command-line interface) to export transactions programmatically.
In the Monero CLI, the command `export_outputs` exports a signed list of the wallet’s outgoing transactions. This export is encrypted and can only be decrypted by the wallet that holds the corresponding view key. The command `export_key_images` exports the key images associated with the wallet’s outgoing funds, which proves that the wallet has already spent those outputs. Both exports are cryptographically signed by the wallet and can be verified by the accountant. Together, these exports provide a complete audit trail: the accountant can see what the client received, what they spent, and cryptographic proof that the client authorized the disclosure.
The process in CLI is straightforward: the client opens their wallet using `monero-wallet-cli`, runs the export commands, and saves the output to a file or pastes it into a communication with the accountant. The accountant receives these signed exports and, using a view-only wallet created from the client’s view key, can import them to reconstruct the transaction history. The Monero project documentation provides the exact syntax; deviations or shortcuts can result in incomplete or corrupted exports that fail to import correctly.
Reconstructing auditable history with a view-only wallet
Once the accountant receives the view key and export files, they create a new view-only wallet on a secure device or in a sandboxed environment. The process begins by selecting “Restore/import wallet” and choosing the option to import a view-only wallet. The accountant enters the view key provided by the client, specifies the restore height, and selects a date or block number corresponding to when the client first acquired Monero. The wallet then connects to a Monero node (either a trusted public node, a private node, or the accountant’s own node for maximum privacy) and begins synchronizing.
During synchronization, the wallet downloads blocks from the Monero network, applies the view key to each transaction, and identifies those belonging to the client. This process reveals the amounts received, the timing of deposits, and the wallet addresses involved. Once synchronization completes, the accountant imports the transaction exports using the commands `import_outputs` and `import_key_images`. These imports add the outgoing transaction data to the view-only wallet’s records, completing the picture: money in, money out, timestamps, and amounts.
The resulting view-only wallet contains a comprehensive transaction history without exposing the client’s spend key, recovery mnemonic, or ability to move the funds. The accountant can generate reports showing acquisition prices (cross-referenced with exchange records for the dates involved), cost basis calculations, and proceeds from sales. If the client has moved Monero between wallets or to external addresses, those transfers appear in the view-only wallet as outgoing transactions, though the accountant will not see where the funds went unless the client also provides view keys for subsequent wallets.
This reconstruction is mathematically sound but operationally delicate. If the client provided an incorrect view key, the synchronization will appear successful but will show no transactions. If the restore height was set too late, early transactions will be missing. If the export files were corrupted or incomplete, the import will fail or produce gaps in the record. The accountant should always verify the wallet address displayed in the view-only wallet against the original address provided by the client, confirm that at least one transaction appears after synchronization, and cross-check the total amounts received against the client’s bank deposits or other records.
Legal and compliance considerations across jurisdictions
The ability to export view-only keys and transaction histories is a technical solution to an audit problem, but it exists within a regulatory context that varies by jurisdiction and continues to evolve. In the United States, FinCEN has classified privacy coins including Monero as reportable assets, and exchanges listed on US markets are required to collect customer information and report suspicious transactions. An individual holding Monero is not illegal, but tax reporting of gains and losses is mandatory, and failure to report is a federal crime. An accountant exporting and reviewing transaction history is performing a standard audit function.
In the European Union, the situation is more restrictive. Article 79 of the AMLR, effective July 2027, prohibits the provision of anonymity-enhancing coin services by regulated entities. This affects exchanges, custodians, and wallet providers operating in the EU. However, the regulation appears to focus on the provision of services by intermediaries rather than private possession. A client and their accountant engaging in a private audit using view-only keys may not violate the restriction, but the legal interpretation remains unsettled. Professionals should monitor guidance from their national regulators as the July 2027 date approaches.
The CFTC in the United States treats Monero as a commodity for derivatives and futures trading, which means certain trading activities may require registration or compliance with commodity trading regulations. For tax reporting purposes, however, the IRS classifies cryptocurrency as property, and view-only audits are consistent with standard property record-keeping practices. An accountant should maintain documentation of the audit process, the view key’s derivation, and the export methods used, as these records may be relevant if the client or the accountant faces scrutiny from tax authorities.
In jurisdictions where Monero or privacy coins face outright bans (such as some Asian countries), even private possession or audit activity could be legally problematic. Before exporting transaction history or creating a view-only wallet in a regulated context, both the client and the accountant should verify current local laws and consult with a lawyer familiar with cryptocurrency regulations in their jurisdiction. The technical capability to audit Monero does not automatically mean it is legally safe to do so everywhere.
Protecting the audit process itself
Exporting transaction history and view keys introduces operational security challenges. The view key, once disclosed, is a permanent link to the client’s transaction history. An accountant receiving the view key must ensure that it is transmitted over a secure channel (encrypted email, a secure file transfer service, or in person), not over unencrypted messaging or via email in plain text. The view key should be stored using the same encryption and access controls applied to other client confidential information. If the accounting firm uses a shared practice management system, the view key should be isolated in a restricted folder accessible only to the accountant or auditor working on that engagement.
The device on which the accountant creates and operates the view-only wallet should be a dedicated machine or a virtual machine isolated from general office networks. This reduces the risk that malware affecting the accountant’s email or web browser will compromise the view-only wallet or the view key stored on disk. The accountant should never copy the view key into a shared document, cloud service, or communication system unless it is encrypted end-to-end and intended only for secure transfer to the client’s devices.
After the audit is complete, both the client and the accountant should remove the view-only wallet and any exported transaction files from their active systems. The view key should be deleted or stored in an encrypted archive separate from day-to-day access. If the engagement requires ongoing updates (for example, monthly or quarterly tax reviews), the accountant may maintain a copy of the view key in a secure location, but this should be documented in the firm’s information security policy and subject to regular access reviews.
The signed exports generated by the CLI commands provide cryptographic evidence that the client authorized the disclosure. An accountant should retain a copy of these exports as part of the audit record. If a tax authority later questions the client’s reported figures, the accountant can demonstrate that the data came from a signed export derived from the client’s own wallet, not from an external source or the accountant’s assumptions. This documentation is particularly important for privacy coins, where the usual assumption that “we can check this on a public blockchain” does not apply.
Transaction fees, ring signatures, and what remains hidden
A completed monero wallet audit export will show the amounts received and spent, but it will not show everything. Each Monero transaction carries a network fee (typically around 0.00003 XMR for a standard transaction, though this varies with network load and transaction size). The fee appears as a minor outgoing amount in the transaction record. An accountant reviewing the history should distinguish between amounts the client intentionally sent and the network fees automatically deducted; both are taxable events, but they are different.
More significantly, Monero’s privacy model means that the view-only wallet shows the client’s own transactions but does not reveal the addresses or identities of counterparties. If the client received Monero from an exchange deposit or from a person, the view-only export will show the amount and timestamp but not the source. Similarly, if the client sent Monero to an exchange or to a counterparty, the outgoing transaction is visible, but the recipient’s address is hidden behind ring signatures and stealth addresses. Monero’s ring signatures and stealth addresses are core privacy features that obscure the transaction graph, and a view-only wallet respects that design.
For tax purposes, this incompleteness can be problematic. The IRS requires identification of the other party in a transaction for certain reporting purposes. If a client received Monero from employment, they must report it as income with the employer identified. If they received it from a gift or personal transfer, the source should be documented. A view-only export does not automatically supply this information. The accountant must work with the client to reconstruct the context: bank records showing when money was moved to an exchange, emails or invoices documenting the source, or other evidence. The Monero wallet audit provides the amounts and dates; the client must provide the legal substance.
This limitation is not a flaw in the audit process; it is a feature of Monero’s design. Cryptocurrency privacy mechanisms are intentionally designed to prevent third-party observation of transaction counterparties, which means accountants and tax authorities cannot unilaterally derive that information from the ledger. Instead, both the client and the professional must work together to build a record that combines the cryptographic evidence (amounts, dates, signed exports) with external documentation (bank records, invoices, exchange confirmations, witness statements).
Common errors and recovery procedures
One frequent mistake is generating a view-only export from the wrong wallet. A client may have multiple Monero wallets (one for long-term holding, one for exchange interactions, one for mining, etc.), and confusing them during the audit creates an incomplete record. The accountant should always verify that the view-only wallet’s address matches the address the client confirmed during the engagement kickoff. A simple mismatch means the entire export is for the wrong funds.
A second error is providing an incorrect restore height. If the restore height is set to a recent block number when the wallet actually became active much earlier, the view-only wallet will miss all transactions before that block. Upon resynchronization, it will appear to have no transaction history, leading the accountant to believe no transactions occurred or that the view key is invalid. The solution is to confirm the exact block height with the client (either by checking the original wallet creation date or by syncing the original wallet and recording its height), and then re-importing the view-only wallet with the correct height.
A third issue arises when the export files are incomplete or corrupted during transmission. The `export_outputs` and `import_outputs` commands must complete successfully for the transaction history to be accurate. If the import process reports an error, the export file may have been truncated, corrupted, or tampered with. The client should re-export from their wallet and retransmit the file using a different method (for example, uploading to an encrypted file service instead of emailing it). The accountant should verify the file size and, if possible, request that the client confirm the export was completed successfully before transmission.
A recovery procedure involves recreating the view-only wallet from scratch. The client syncs their original wallet, confirms the restore height and address, and generates new export files using the CLI commands. The accountant deletes the previous view-only wallet and all associated files, then creates a new view-only wallet using the same view key but with a confirmed correct restore height. Upon resynchronization and import of the new export files, the accountant should see a complete transaction history. If the history remains incomplete, the client and accountant should verify the exchange or wallet service used during the periods in question to identify any missing records.
Alternative approaches: Hardware wallets and third-party audits
For clients with higher account balances or heightened security concerns, a Ledger or Trezor hardware wallet may be appropriate. Ledger hardware wallets support Monero and allow view-only key export through the companion software. The process is similar to the desktop wallet export, but the spend key never leaves the hardware device, which adds an additional security boundary. Trezor hardware wallets also support Monero with similar view-key export capabilities. An accountant working with a client using a hardware wallet can request a view-only export via the Ledger or Trezor interface, and the resulting view key is just as valid for audit purposes as one derived from a desktop wallet.
Some accountants and audit firms have begun offering specialized Monero audit services. These firms may maintain secure infrastructure, follow chain-of-custody procedures for view keys, and provide reports formatted for tax filing or regulatory submission. If a client prefers not to directly export their view key to their personal accountant, engaging a specialized firm may be appropriate. However, the client should verify that any third-party firm they engage is properly licensed, maintains appropriate insurance, and follows data security standards. A view key is not as sensitive as a spend key, but it is still confidential information and should only be shared with trusted professionals.
Another option is to use a privacy-preserving audit protocol in jurisdictions where such services are available. Some researchers and blockchain audit firms have developed techniques that allow a third party to verify transaction totals or patterns without viewing the full transaction list. These protocols are still experimental and not yet widely available for Monero, but they represent a potential future direction for privacy coin audits that balance confidentiality with compliance requirements.
Frequently asked questions
Is sharing a view-only key safe for audit purposes?
A view-only key allows an accountant to see transaction history without being able to spend funds, which is mathematically safer than sharing a spend key or mnemonic phrase. However, the view-only key should still be treated as sensitive information. It reveals the wallet’s complete transaction history and should only be shared with trusted professionals over encrypted channels. After the audit is complete, the view key should be deleted or securely archived.
Can I generate a monero wallet download that exports transactions automatically for tax reporting?
Standard monero wallet download applications such as the official Monero GUI and CLI support manual export of view keys and transaction records through specific commands or menu options. Some third-party wallet applications offer built-in tax reporting exports, but these vary in accuracy and compliance with jurisdictional requirements. Always verify exported data against your own records and consult with an accountant before relying on automated exports for regulatory filing.
What happens if my accountant cannot see transactions from a monero wallet audit export?
If the view-only wallet shows no transactions after synchronization, check three things: first, verify the view-only wallet’s address matches your original wallet address; second, confirm the restore height is correct and not set too late; third, ensure the export files were transmitted completely and not corrupted. If all three are correct, regenerate new exports from your original wallet and retry the import process with a fresh view-only wallet.
