Context before conclusions
Two providers asked for "latest" a second apart can return different blocks. If the snapshots carry different block numbers, or the block context is unknown, the diff says so before listing any field differences, so chain progress is not mistaken for provider disagreement.
Missing, null, zero and empty stay distinct
An absent field, an explicit null, the QUANTITY "0x0" and empty DATA "0x" are four different things. The diff reports each combination separately. Normalisation (compare hex quantities by value, ignore address case, or ignore a field) applies only to paths you list, and every normalised match is labelled.
Snapshot viewer
Paste a block, transaction or receipt (bare or inside a JSON-RPC envelope). Quantities become exact decimals, timestamps become UTC dates from the header, and fees are derived from the fields present. Receipt status 0x1 is described as "succeeded in the block this receipt came from", not as final. Provenance fields (source, time, chain, method) default to unknown.
Questions
Why does the diff warn about block context?
Because most differences between providers are explained by them being at different heights. Enter the block each snapshot was taken at to make the comparison meaningful.
Can I ignore fields like totalDifficulty?
Yes. Add an ignore rule for the path, for example $.result.totalDifficulty, or $..totalDifficulty for any depth. Ignored fields are still listed as ignored.
Does a success status mean the transaction is final?
No. It means execution succeeded in that block. Whether the block remains canonical depends on what happened after the snapshot.