Raw vs Normalised Blockchain Records
Separate source evidence from application-friendly records, preserve transformation versions and avoid treating a convenient action label as an immutable chain fact.

Overview
When translating these concepts into an integration, keep the scope described by the normalized transactions api with the result. The examples in wallet transaction history and smart contract event logs show how the same distinction affects neighbouring data questions.
Normalisation makes different records easier to consume. It also introduces choices about identity, units and interpretation. Keeping raw evidence and derived records separate makes those choices reviewable.
Define the transformation boundary
Raw evidence can include transaction fields, logs and state observations. A normalised transfer maps selected evidence into a common schema. A higher-level swap or payment label adds another interpretation. Store which inputs and rule version produced each layer instead of replacing the original bytes with a friendly summary.
Worked example: correcting decimals
An early parser applies eighteen decimals to a token that uses six. The raw integer remains correct while the display amount is wrong. With retained evidence and a versioned transformation, the derived amount can be rebuilt. If only the rounded display value was stored, the correction may be impossible to reproduce exactly.
Keep corrections traceable
Test a re-run with the same rules, a new rule version and partial evidence. Derived output should be deterministic for a fixed input and version where the contract permits it. Record changed interpretations explicitly. A correction to application meaning should not masquerade as a change to the original accepted transaction.
A practical acceptance test
Retain a raw token integer, derive a display value using an intentionally incorrect scale, then correct the scale in a new interpretation version. Assert that the raw evidence is byte-identical and that only the derived record changes. A repeat run with the same input and version should reproduce the same result without additional activity.
Questions about the topic
Frequently asked questions
Is a swap label always a raw chain field?
No. It is commonly derived from execution evidence.
Why retain decoder versions?
They explain which transformation produced a result and support reproducible corrections.
Standards & technical documentation