Blockchain Data Reconciliation: Compare Records with Evidence
A technical workflow for comparing independently supported records without hiding disagreements, missing observations or scope differences.

Overview
Blockchain data reconciliation compares observations that should describe a compatible position or movement. It can help a team investigate a mismatch between recorded activity and a balance observation, or between two separately prepared datasets.
The comparison is useful only when its inputs mean the same thing. Before calculating a difference, align the asset, account, range or cutoff and the quantity representation. A disagreement can then become a reviewable question rather than an unexplained number.
Define a compatible comparison scope
Start by naming the two observations and the question they should answer. A state observation at a cutoff cannot be compared directly with activity over an arbitrary interval. The activity needs an opening position and compatible inclusion rules.
Retain the account, network, asset identifier and relevant references for each input. Specify how time boundaries were mapped to network observations. Check that both sides use the same quantity unit and precision context.
Write down any intentional difference in scope. A report containing a supplied asset list is not equivalent to a claim about every asset the wallet may hold. Reconciliation becomes more informative when the team first documents where the inputs overlap and where no valid comparison can yet be made.
Work through an exact, synthetic example
Consider one synthetic asset where every amount below uses the same atomic unit. The example assumes the fee is paid in that same asset; fees in another asset require their own asset-specific comparison.
{
"openingAtomic": "100",
"incomingAtomic": "25",
"outgoingAtomic": "10",
"feesAtomic": "2",
"expectedClosingAtomic": "113",
"observedClosingAtomic": "112",
"differenceAtomic": "1"
}The expected closing quantity is opening plus incoming, minus outgoing and included fees. The retained difference is expected minus observed. This is arithmetic over the declared inputs, not evidence that those inputs cover every relevant change.
Store the calculation alongside the two observations. A reviewer should be able to reproduce the number without relying on a rounded display or a description such as almost matched.
Distinguish agreement, difference and unknown
Use separate outcomes for a compatible match, a compatible mismatch and a comparison that cannot be completed. An unavailable observation belongs in the third case; replacing it with zero can turn an unknown into a false difference or a false agreement.
Agreement means the included inputs reconcile within their stated scope. It does not establish complete transaction history or settle every interpretation of an event. Likewise, a difference does not tell the application which input should be changed.
Keep the unresolved case useful. Record what is missing: an opening observation, an asset identity, a historical interval or another prerequisite. This gives the team a next investigation step instead of leaving an undifferentiated error message that must be interpreted again each time.
Investigate mismatches before applying a correction
Work through a consistent sequence. First check identity and units. Next compare cutoffs and interval inclusivity. Then inspect missing pages, duplicate movements and fee treatment. Finally review whether the asset or network behavior requires observations that the calculation did not include.
Use references to move from the comparison back to the technical record. A transaction hash without its network context is a weaker investigation aid than a complete reference attached to the relevant observation.
Preserve the original inputs while investigating. If a later retrieval or interpretation changes an observation, retain the reason and relationship to the earlier version. An unexplained balancing entry can make a report look consistent while removing the evidence needed to understand why the difference existed.
Retain an evidence package for the comparison
A compact comparison package can include the request brief, input observations, their references, quantity units, calculation, outcome and unresolved questions. It should also identify which interpretation or normalization rules were used.
This is technical review material. It helps another person inspect what the application compared and reproduce the stated result. Keep it distinct from approvals or conclusions that require additional organizational judgment.
Separate observed data from application decisions. A later change in how a team labels a transaction should not silently alter the underlying movement quantity. That separation makes it easier to rerun a comparison under revised rules while preserving the history of the earlier result.
Make reconciliation repeatable across imports
Use stable record identities and an explicit scope for every run. When the same input is processed twice, the stored observations should not double. When the scope changes, the result should say what changed rather than appearing to be an unexplained revision of the same report.
Keep exact quantities through processing. Integer arithmetic can preserve atomic units; converting to a rounded display too early can manufacture small differences. The BigInt reference explains the relevant JavaScript integer representation.
Test an aligned case, a deliberate mismatch, a missing observation and an interrupted import. These cases establish whether the workflow preserves meaning when it leaves the happy path. The most useful reconciliation system makes disagreements easier to inspect, not easier to conceal.
Questions about the topic
Frequently asked questions
Does a reconciled result prove a complete wallet history?
No. It establishes agreement only for compatible included observations under the declared comparison scope.
Should the application automatically overwrite a mismatching balance?
A mismatch does not identify which observation is wrong. Preserve both inputs, investigate the cause and record any later correction separately.
How should fees paid in a different token be handled?
Keep them under their own asset identity and unit. Subtracting a different asset from the compared quantity mixes incompatible units.
Standards & technical documentation


