> ## Documentation Index
> Fetch the complete documentation index at: https://learn.breezing.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Integrity Check

> Run a Wallet Integrity Check in Breezing to find missing or duplicate transactions and fix wallet balances that do not match the blockchain.

When a wallet's balances do not match the blockchain, the Wallet Integrity Check tells you why. Breezing re-imports the wallet into a temporary test wallet, compares that fresh pull against the transactions you currently have, and produces reports showing exactly which transactions are missing and which are duplicates, along with the files you need to reconcile them. This guide covers the full flow, plus alternative repair methods for when you would rather re-pull the data wholesale.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/biECw2tWa7k" title="Wallet Integrity Check in Breezing: Find Missing Transactions" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

### Step 1: Confirm There Is a Mismatch

After loading a wallet, first check that its balances match the blockchain (see [Balance Verification](/features/balance-verification) for the full flow):

1. Open the wallet from the **Wallets** page.
2. Click **Automatic Balance Check** and select the date to check up to.
3. Make sure you have imported transactions up to that date. If you check up to July 14 but only loaded transactions through June 30, you will get a mismatch that has nothing to do with data quality.
4. Run the check and open the result with **View Report**. It shows which token balances match and which do not, for example USDC matching while USDT and ETH are off.

If some tokens do not match, missing or duplicated transactions are the usual cause. That is what the Wallet Integrity Check finds.

### Step 2: Run the Wallet Integrity Check

1. Go back to the wallet on the **Wallets** page.
2. Click the **gear** icon and select **Wallet Integrity Check**.
3. Choose the period to check: from the beginning of the wallet's history, or a shorter range if you only suspect a recent period.
4. Click **Run the check**.

Breezing re-pulls all the wallet's transactions into a temporary test import, compares the fresh pull against the transactions currently in your workspace, and checks the resulting balance against the blockchain. Give it a few seconds to finish.

### Step 3: Read the Reports

The check produces three reports:

1. **Wallet difference report**: a comparison of your wallet against the test import (the freshly pulled wallet that Breezing validated against the blockchain). It lists the transactions missing from your wallet as well as any duplicates, meaning transactions in your wallet that should not be there. Every entry includes the transaction hash.
2. **Missing transactions in your wallet**: a CSV containing the transactions your wallet is missing, formatted so you can upload it straight back into Breezing.
3. **Missing transactions in the test import**: the transactions that exist in your wallet but were not found in the fresh pull. These are your duplicates, shown in full detail so you can review what you are about to delete.

### Step 4: Delete Duplicate Transactions

1. Copy the transaction hash from the wallet difference report.
2. On the transactions page, filter for the hash to find the transaction.
3. Select it, click **Manage**, and choose **Delete**.

### Step 5: Re-Add Missing Transactions

1. Open the **Missing transactions** file for your wallet to review it, then close it without changing anything. The file needs to stay exactly as Breezing generated it.
2. Click **Add Transaction** and select **Upload CSV**.
3. Choose the missing transactions file, toggle **Fiat amount**, and upload.

Breezing imports the missing transactions into your existing wallet in one go.

### Step 6: Verify the Fix

1. Click **Refresh Balances** on the wallet and give it a few seconds.
2. Rerun the automatic balance check.
3. Open the report. Every token should now match the blockchain, for example five out of five tokens matching where three were off before.

### Manual Balance Check

If you added transactions yourself manually, or the wallet is an exchange, use the manual balance check instead. It shows Breezing's balance as of a date you pick, and you can attach the document you verified against, such as an exchange statement. This gives you a recorded checkpoint even when an automated on-chain comparison is not possible. See [Balance Verification](/features/balance-verification) for the full attestation flow.

<Accordion title="Video Transcript">
  All right, cool. So, after you load your wallet, the first thing you want to do is you want to make sure you have all the transactions and the balance matches with the thing you have on the blockchain. So, that's a key thing you want to do first. So, you want to come over here. Very much going to refresh this page quickly. Going to come over here, click on the ops wallet, the one you want to check. Go ahead and hit automatic balance check. I go ahead and select the date you want to check it to. Make sure that you have all the latest transactions. If you check it up until July 14th, I've seen cases where someone checks it to July 14th, but they only loaded transactions like, let's say, up until June 30th. And obviously, you're going to have a balance mismatch there. So, make sure you have all the transactions at the latest date if you want to check it. If you want to check earlier, just go ahead and select earlier, but make sure that you are checking kind of the transactions that you do have compared to what you have on the blockchain. Go ahead and run the check. It'll just take a few seconds to run a little bit of report. Cool. So, it's giving me now the balance checker. So, it's giving me a mismatch. So, it's telling me I'm missing some transactions. When I click into here, I'll see three out of the five tokens have been a mismatch. I was going to click on the view report. When I click on view report, I'll be able to open it up and I'll see, okay, like, my USDC balance matches, which is great, but my USDT balance doesn't match, and neither does my Ethereum balance. So, it doesn't really match. So, the question is now like, what do I do? How do I fix it? Is the key thing. So, I'm just going to go back to the wallet. I'll click the wallet again. Now, the key thing, we just launched a new feature. So, pretty much you kind of click this gear over here. You run what's known as a wallet integrity check. Go ahead and click that. Go ahead and run it from the beginning or how many transactions or the period that you want to run it for. And what it's going to do is going to check for any missing transactions or any duplicated transactions in your existing wallet, and it'll kind of give you a whole report and kind of how to reconcile it. So, go ahead and hit run the check. And then just give it a another few seconds just to kind of run. And what it's doing now, it's basically just like re-pulling all the transactions. It's checking that new pull against the transactions you currently have. It's checking also against the blockchain to see if the balance matches. So, it's doing kind of this whole like data integrity kind of classification topic for you. You just have to kind of wait and give it a few seconds and it'll eventually get there. All right, cool. So, now it's kind of produced all the reports that you need. So, you'll see it's produced three different reports. Uh we're going to check them all out right now. We're going to check the first one. This is a wallet difference report. So, it's looking what is in the ops wallet versus what is in the ops wallet test import. So, the ops wallet test import is the wallet that it loaded that it's going to verify against the transactions you currently have in your existing environment. So, this is like the This is the validated wallet that like knows we know everything matches in this wallet and this is your wallet, the ops wallet. So, you go ahead and click this download report. Go ahead and open it. You can see here in the report it's telling you kind of what's happening. So, here it's showing you, okay, in the test import you're kind of missing this transaction over here, this Ethereum transaction. And in your wallet, the one that you have right now in the environment, you're missing these transactions. So, you're clearly missing transactions, but you also seem to have a duplicate transaction. So, a transaction that you're not supposed to have in your wallet. So, what we're using does it also gives you the hashes. So, what you want to do is you want to delete that transaction that you maybe added by accident or who knows what happened there. You can kind of click on the hash over here. You want to filter for it. You want to find it. You want to select it. You want to manage then you want to delete it. So, you want to get rid of that one first off. So, that one's now gone. And then now the next thing is you got to re-add these three transactions. It seems like you missed these. Something happened, who knows, but you're just going to have to re-add those. So, the way you're going to do that is there's a there's a missing transactions in ops wallet. So, if you go ahead and click that, you'll be able to see the full These are the three transactions that you were missing. So, that's like perfect. That's what you want to add. So, you want to go ahead and close that. You don't want to alter that document. So, you want to go ahead and click add transaction, go upload CSV. It'll open the file. Go ahead and select it. Toggle fiat amount and go ahead and upload it. So, that's uploading the three missing transactions. So, that file has kind of like done it all for you. It's going to upload those three missing transactions into your existing wallet. And that will hopefully solve the data problem. Then next thing here is you have this other file called missing transaction off lot test import. This is the basically the wallet that was in the test environment that we used to to kind of compare against. If you click on that one, you'll see you're going to find that one Ethereum transaction that we deleted. So this was that Ethereum transaction that we said that we had in our wallet, but it wasn't supposed to be there. It's giving it to you if you just want to see what it was in more detail. So you go ahead and close that. Close up all your files. Now you've loaded everything, go ahead and close everything up in here as well. You don't need any of that. That should all go away. And then you just got to come up here, you refresh your balances. Give it a few seconds. Then you then you rerun the balance checker again. Again, you're up to date and let's see now the balance should match. So again, give it a few seconds. And there you go. Now the balance matches. See now we have a match here. You go ahead and click in there. You can see it's five to five matches. Click the view reports. You can open up and now you everything kind of matches perfectly against the blockchain and you have everything you need and the data integrity is done. Um now let's say there's scenarios where you add transactions yourself manually. For that we have a manual balance check. So here you click here, it'll kind of give you the balance at this point. You can upload let's say the document that you used to verify the balance manually if you wanted to. You can also change the date balance as of. So this is kind of more of a manual check just for yourself in case you upload something manually or maybe you upload it against an exchange. So for exchanges for example, this is a great feature to have to also verify the balances up until a certain point. So go ahead and use that for those kind of scenarios. Um overall, yeah, that's the kind of the balance checker. That's the whole data integrity module. It's a cool new module, really helps ensure that you have all the data and everything's kind of accurate and also reduces a lot of like the CS burden um on you and us in terms of doing work. All right, cool. Let me know if you need anything.
</Accordion>

### Other Ways to Fix Wallet Balances

The Wallet Integrity Check pinpoints individual transactions, but sometimes re-pulling the data wholesale is faster. Which method fits depends on how much work you have already done in the workspace.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/2B8ylDpwtPw" title="How to Fix Wallet Balances in Breezing" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

### Method 1: The "Fresh Start" Approach

**Best for:** Workspaces where you have *not* started categorizing or labeling transactions yet.

The simplest and fastest way to fix a corrupted API pull is to delete the wallet and read it again.

1. Navigate to the **Wallets** page.
2. Select the problematic wallet.
3. Click **Settings** and select **Delete**. This will completely remove the wallet and all its historical transactions from Breezing.
4. Click the **+ (New)** button, select **Blockchain**, paste the wallet address back in, name it, and re-pull the data via **Network**.

A fresh read will almost always resolve temporary API delays or skipped transactions.

### Method 2: Re-pulling a Specific Date Range

**Best for:** Workspaces where you *have* started categorizing transactions in previous periods, but a newer period is missing data.

If you've spent hours categorizing transactions from 2023, you do *not* want to delete the entire wallet and lose that work just because 2024 is missing a few transactions! Instead, you can delete and re-pull only the corrupted period.

1. Go to your **Dashboard**.
2. Identify the specific time period that is missing transactions (e.g., "I know everything up to 2023 is perfectly categorized, but early 2024 is corrupted").
3. Use the **Filter** or manually select the transactions from the problematic period (e.g., all 2024 transactions).
4. Click **Manage** and select **Delete** to remove *only* those selected transactions. Your past work (e.g., 2023) remains safely in Breezing.
5. Now, go back to the **Wallets** page and select that wallet.
6. Click **Get Latest Transactions**.
7. Adjust the date range to match the period you just deleted (e.g., Jan 1, 2024 to Present) and click **Continue**.

Breezing will re-pull only the missing period, ensuring you get the skipped transactions without overwriting your past accounting work.

### Method 3: Adding Transactions Manually

**Best for:** Edge cases where a specific transaction simply will not sync via the API, or you're missing a single internal transfer.

If re-pulling the data still leaves you missing a specific transaction, you can manually insert it to balance the books.

1. On the Dashboard, click the button to **Add Transaction Manually**.
2. Enter the exact **Transaction Hash**, Timestamp, Token amount, Asset name, and Direction.
3. Save the transaction. This manual entry will fill the gap and force the wallet balance to match the block explorer.

<Accordion title="Video Transcript">
  All right, cool. So, let's say now you want to fix the balances on a specific wallet. Um, the best way to do that is if you haven't started working on the wallets themselves, uh, the best way to do is to really just delete um, the actual entire wallet itself and then read it. Um, sometimes the API kind of skips a beat. So, I'm going to ahead and copy that here. Setting, delete, delete the wallet. And then I'm going to read the ops wallet again. Blockchain. Add the wallet in here. call ops wallet. Okay. Continue via network. And then just go ahead and hit it right there. And there it is. Off wallets re-dited. And then I can again verify these balances. But let's say there's a scenario where you already started working on the wallet itself and you now basically just want to like you know not delete the entire wallet because you've already started working on it but you know you're missing some transactions let's say. So let's say you were already like labeling these transactions as like you know the ones in the past down here like as like other revenue or whatever it might be and you know there's a specific like time period that you lost some transactions in u. And so what you do is you just delete that time period. So, let's say May 29th and May 29th and Feb 18th and Feb 6. Let's say I know everything from here. Let's say let's say everything in 2024 I'm just going to delete because I know the balances up to 2023 were good, but 2024 I knew something was fishy up was something fishy was going on there. So, I would hit manage. I would delete them. So, they're gone. I only have up to 2023 transactions. I would then go back up here. I would get latest transactions again and I would see, okay, it's pulling 2023 2025 again. Hit continue. So I'm letting it pull those extra 2024 transactions that I just deleted and anything kind of else that was missing during that period. So that's predominantly because I had worked on the transactions in prior periods and I don't want to get rid of that. So there it is pulled me the additional transactions here. I can see 2024 is repulled and I can then just check okay did they did it capture those transactions I had missed previously. Now if there's a transaction that is not working even with this method. The other method is to just add these transactions in manually. So you can add them like this. Throw the hash in, throw all the details in and then add it manually. That also helps fill in the gaps on kind of like figuring out making sure the balances match. So that's the way you reconcile the wallets, making sure the balances match.
</Accordion>

### Related Pages

* [Balance Verification](/features/balance-verification): verification statuses, automated balance checks, manual attestations, and checking balances on block explorers.
* [Explorer Balances Check](/features/explorer-balances-check): the report type behind automated balance checks.
