CryptoAPIsOffline: nothing is sent

Compare two provider responses with their context

Paste two saved responses, record which provider, chain and block each came from, and see differences in values, types and nullability. A snapshot viewer explains blocks, transactions and receipts field by field.

Everything here is a supplied snapshot. Nothing is current, and status or finality is never inferred beyond what the fields say.

Load a synthetic pair:
Checking for a saved draft…
Checking for a saved draft…

Paths: $.result.number, $.result.transactions[*], $..gasPrice (any depth). Only listed paths are normalised; raw snapshots are never changed.

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.