Safe Tx LensBeta Free independent tx review

Before signing · while queued · after execution

Review a Safe transaction at every stage.

Inspect a proposal before signing, or investigate what an executed transaction did. Start with a Safe hash, execution hash, address, URL, or JSON.

Why this exists

A compromised multisig interface can describe one action while presenting different data for approval. Inspect the calls before signing, compare the hash on your signing device, and review execution evidence afterward.

Start a review ↓
Read-only by designNo wallet connection, private key, or signature. A simulation does not prove safety. Independent project; not affiliated with Safe or the Safe Ecosystem Foundation.
Ready to inspect

Start with anything you have

Exported transaction JSON can be decoded without a Safe API key. An execution hash needs a working RPC; a pending Safe hash needs a proposal source.

How it works

One review connects the source of the transaction, a fresh Safe hash calculation, decoded calls, target code, and measured effects when available.

Every claim shows its source
  1. Your inputSafe transaction hash

    A hash alone contains no chain ID, Safe address, or calldata.

  2. Recover fieldsOffchain proposal source

    Safe Transaction Service supplies the transaction if it has indexed it. A pending hash needs a proposal source.

  3. Our checkRecalculate and compare

    Compute EIP-712 locally from those fields. When available, ask the Safe contract through RPC for its hash.

  4. ReviewCalls, code, effects

    Decode nested calls; check target code and show simulation changes only when measured.

If Safe supplies both the fields and the reference hash, a matching hash proves consistency, not that Safe supplied truthful fields. Compare the hash shown on your signing device.

The security boundary

Hash calculation is independent of the Safe API; the truth of input fields is a separate question. A compromised Safe service could return altered fields and a matching hash. Use a hash obtained independently, your signing device, and onchain evidence where available. No single service or simulation proves a transaction is safe.

Coverage

Network coverage by capability

These are the 13 named EVM networks with configured RPC routes. A matching chain ID confirms only that an RPC answered. Safe queue and history lookup, transaction reconstruction, historical code verification, and simulation are separate checks. The dated status below shows which Safe list endpoints answered; Amoy and Immutable zkEVM currently need an execution hash or supplied JSON because their Safe list endpoints are unavailable. Try a real transaction to see which evidence its providers can return. Other EVM chain IDs can be attempted without a promise of offchain discovery.

Network coverage snapshot unavailable.

Try a transaction by network

Loading verified examples…

Community funded

Help keep reviews free

Donations help pay for the infrastructure behind this service: hosting, bandwidth, monitoring, transaction lookups, historical RPC reads, and simulations. Thank you for supporting independent review.

Donation addresses will appear here once configured.

Sponsor recognition

Put your name behind safer signing

Diamond, Gold, Silver, and Bronze spaces have room for multiple sponsors. We also welcome infrastructure contributions such as RPC and simulation capacity. Recognition requires agreement before listing.

Use the evidence, verify independently

Safe Tx Lens is an independent community project, not affiliated with or endorsed by Safe or the Safe Ecosystem Foundation. It is free software with MIT-licensed source available on GitHub. Its data and analysis can be incomplete, outdated, or incorrect. It offers no guarantee that a transaction is safe and its maintainers accept no responsibility for decisions made from its output. Check the hash on your signing device, use independent sources, and review the contract behavior yourself.

For control over the code, keys, RPCs, and logs, deploy your own instance. If you find an error, report it on GitHub with public, non-sensitive details.