EVM / FIELD GUIDE

Read EVM calldata, starting with transfer

Match selectors, ABIs, and raw amounts without mistaking decoding for safety.

The useful part

Decoding describes structure, not contract trust, execution success, or value.

Use the right function signature

ABI
function transfer(address to, uint256 amount)

The first four bytes are the selector, followed by ABI-encoded arguments. The resource fixture decodes to address 0x1111…1111 and raw integer 1000000000000000000. It is synthetic and sends no transaction.

Raw integers are not display amounts

The raw integer represents one token only if that token uses 18 decimals. An ABI does not establish decimals, price, chain, or contract address. PlainKit displays large integers as strings to avoid JavaScript Number precision loss.

DECODED / RAW UNITS
function: transfer(address,uint256)
to: 0x1111111111111111111111111111111111111111
amount: "1000000000000000000"

What to verify before signing

  • Verify network, target contract, and ABI provenance; check the current implementation for proxies.
  • Check recipient, units, and approval scope against your intended action.
  • Stop if decoding fails or arguments are truncated or have trailing bytes.
  • Identical function names do not establish identical behavior; source, state, and execution evidence matter.

Sources & editorial note

Sources checked October 17, 2026. Examples and practice notes are authored for PlainKit. Sources do not endorse this project; this is not an audit conclusion.

Try it for yourself.

Start with a synthetic fixture. Tool inputs stay in your browser.

Open the tool →Get the fixture ↓