Library · Crypto, word by word · Inside Ethereum

What is calldata?

Calldata is the input data attached to an Ethereum transaction or contract call: which function to run and with what arguments. It is recorded as part of the transaction, so anyone can read it on a block explorer.

What it means for you

Calldata is what you actually authorize when you sign: an approval or transfer is encoded in it, including the receiving address and amount. A wallet that shows only a string of hex is asking you to sign without seeing this; a decoded view reveals which function is called and with what values.

How it works

The first four bytes of calldata are the function selector, taken from the hash of the function's name and argument types. The rest are the arguments, encoded under the contract ABI as 32-byte words, with an address padded by leading zeros. Calldata costs gas per byte; EIP-2028 cut non-zero bytes from 68 to 16 gas, with zero bytes cheaper, partly to help layer 2 systems that post data to Ethereum. Since EIP-4844, rollups can use blobs instead, which are cheaper but deleted after about 18 days.

Sources: ethereum.org: Transactions, EIP-2028: Transaction data gas cost reduction, ethereum.org: Danksharding · checked 4 October 2026

Often confused with

Calldata vs Blob

Related words

TransactionABIBlind signingToken approvalGas

Educational content, not financial advice. Written by hand and checked against the source named above. Something wrong? Tell us and we reply within two business days.