Calldata
Pronunciation: KAWL-day-tuh
Also known as: Call Data, Transaction Input Data
Definition
Calldata is the read-only byte payload supplied to a smart-contract call, commonly carried in the data field of an Ethereum transaction. It usually identifies a function and encodes its arguments according to an application binary interface. Calldata can trigger state changes or carry arbitrary bytes, but it is not contract storage and does not by itself prove that the requested execution succeeded.
Overview
Calldata is the input presented to contract execution. In a typical Ethereum function call, the first four bytes select a function and the remaining bytes encode arguments according to the contract interface. A plain native-asset transfer can have empty calldata, while a token transfer normally includes encoded instructions for the token contract.
Calldata is read-only during a call and is distinct from persistent Blockchain State. Contract code can inspect the payload and use it to decide which logic to execute, but any lasting result must be written to state or reflected in logs. The payload remains part of transaction data and can be examined after inclusion.
Human-readable interfaces must decode calldata carefully. The same bytes can be misleading if interpreted with the wrong contract interface, and unverified contracts may expose selectors that resemble familiar functions. Wallets should display the destination contract, decoded action, assets, amounts, and approvals rather than showing only raw Hexadecimal.
Calldata also affects fees because nonzero and zero bytes have defined gas costs on Ethereum. Layer 2 systems may publish compressed transaction data or state updates through calldata, although newer data mechanisms can use different fee markets. Developers should not assume calldata cost is constant across networks or upgrades.
For payment verification, calldata shows what was requested, not necessarily what happened. The transaction may revert, execute a different code path, or call additional contracts. Applications should combine the decoded input with the Blockchain Receipt, relevant logs, and state changes before recognizing a token payment or contract action.
Key Takeaway
Calldata carries contract instructions and arguments, but the actual result must be confirmed from execution receipts, logs, and resulting state.
Sources
- Ethereum.org Documentation: Transactions — Ethereum.org (2026-08-02)
- Ethereum.org Documentation: JSON-RPC API — Ethereum.org (2026-08-02)
- Ethereum.org Documentation: Scaling — Ethereum.org (2026-08-02)