A closer look at transaction data

Decode EVM
transfer & approval data.

CallLens reads five common EVM transfer and approval calldata layouts. Inspect addresses and exact integers locally, with token-standard ambiguity and decoding limits kept visible.

Free to useNo input uploadsNo AI or chain callsOffline download
01 / INPUT

What does this data say?

Paste the Input data / Hex data field from an EVM wallet or explorer. Use the examples to see how it works.

Not a transaction hash or a signed transaction. Never enter a private key or recovery phrase. Maximum 64 KiB.

Examples use a dummy address. Do not send funds to example addresses.

Not fetched or guessed.

Five supported signatures. This is a local format reader, not a transaction simulator or a security verdict.

02 / INTERPRETATION

The fields, without the guesswork.

Your decoded result will appear here. Your input is not sent to a blockchain or a server.

Small tools. No paywall.

All features are free. If this helped, share the link or leave an optional tip.

Read it with context.

  1. Copy the full data field, not the transaction hash. No wallet connection is needed.
  2. Keep “Unknown” selected unless you independently know the called contract’s token standard.
  3. Compare the decoded addresses and values with your intent. Verify the chain, destination contract and final wallet screen separately.
Download the offline reader ↓

A single HTML file for a modern browser. No installation or internet connection needed to decode.

Need to check an address or convert units? →

Our companion ChainKit handles address checksums, full-address comparison and exact token arithmetic.

What this can—and cannot—tell you.

Which functions are supported?

transfer(address,uint256), approve(address,uint256), transferFrom(address,address,uint256), setApprovalForAll(address,bool) and the three-argument safeTransferFrom(address,address,uint256). Dynamic bytes overloads, swaps, multicalls, permits, typed-data signatures and arbitrary ABIs are not decoded.

Why does the result say “candidate”?

Different functions can share a four-byte selector. A contract can also implement unexpected behavior. Matching a known byte layout does not identify the contract or prove the transaction’s effect.

Can approve mean something different for an NFT?

Yes. ERC-20 and ERC-721 use the same approve(address,uint256) signature. The integer is an allowance in ERC-20 but a token ID in ERC-721. transferFrom also shares a signature. CallLens keeps that ambiguity visible.

Does the tool store or upload my data?

No input upload, chain API, cookies or local storage is used. Optional anonymous usage counts are sent only after permission. Data stays in the open tab. A report download saves your pasted data to your device. The hosting provider may log page and asset requests. External links open other sites.

Does this make a transaction safe?

No. This is an educational format reader, not a security audit, simulation or recommendation to sign. It cannot detect all malicious contracts or verify your chain, token, wallet or recipient. Do not sign based only on this result.

Standards and source

Based on the Solidity ABI, ERC-20, ERC-721 and ERC-1155. Download the source and tests. No independent security audit has been performed.