Replay / Real library comparison
ONE INPUT.
THREE READERS.
Run the same bytes through Solana Kit 3.0.3, 4.0.0 and 8.3.0. These are the published library builds, executing locally in your browser.
Start with the synthetic version-3 example: Kit 3.0.3 decodes it; later versions reject it. Then try the canonical controls, or paste public transaction bytes of your own.
Public or synthetic input only. Bytes stay in this browser; no wallet, RPC, upload or signing. Maximum 4,096 decoded bytes; this limit is a UI bound, not transaction admission policy.
Loading examples. No comparison has run yet.
| Library | Result | Decoded version | Details |
|---|---|---|---|
| Run the comparison to produce results. | |||
Exactly what runs
For each pinned version: getTransactionDecoder().decode(bytes), followed by getCompiledTransactionMessageDecoder().decode(transaction.messageBytes). The second call matters: decoding an envelope alone can produce a different result. ACCEPT means both calls returned; it does not mean the transaction is valid or safe.
The JavaScript files are unmodified, self-hosted production browser builds of @solana/kit. The downloadable report records input bytes, SHA-256, versions, API composition and the freshly observed results. It is unsigned. It does not verify transaction signatures, simulate execution, evaluate freshness or assess impact.
Examples are synthetic retained research inputs, not fetched chain transactions. A disagreement is an observed behavior difference to investigate—not automatically a bug, exploit or new discovery. This browser comparison is separate from the existing saved-case Replay service.
Pinned files and SHA-256 ↗ · Exact example bytes ↗ · Retained source record ↗