What Is Calldata? Transaction Input Data Explained (2026)
— By Whatsertrade in Tutorials

Calldata is the input data that tells a smart contract what to do. What is inside it, why reading it protects you, and how to decode it on an explorer.
Intent check: This is the plain-English guide to calldata, the instructions packed inside a transaction. If you want the basics of a transaction as a whole first, read What Is a Transaction.
When you send someone coins, your transaction is simple. When you swap a token, approve a spender, or mint an NFT, your transaction is carrying a hidden payload of instructions telling a smart contract exactly what to do. That payload is called calldata, and it is one of the most useful things to understand, because reading it is how you confirm that what you are signing really matches what you think you are doing.
This guide explains what calldata is, how it differs from a plain transfer, what is actually encoded inside it, why it matters for your safety, and how to read it on a block explorer.
What Is Calldata?
Calldata is the input data of a transaction, the encoded instructions it sends to a smart contract. It is the part of a transaction that says which function to run and with what arguments. When a transaction is aimed at a contract rather than a plain wallet, calldata is how it tells that contract precisely what action to take.
You can think of calldata as the message written on the envelope's contents. The transaction is the envelope, addressed to a contract, and the calldata is the detailed instruction sheet inside it.
Calldata vs a Plain Transfer
The difference is easiest to see by comparison:
- A plain transfer of the native coin carries no calldata. You are just moving value from one address to another, so there are no instructions to include.
- A contract interaction, such as a swap, an approval, or a mint, packs its instructions into calldata. The transaction's value might even be zero, because the real action lives in the data, not the amount.
So an empty data field means a simple send, while a filled one means the transaction is telling a contract to do something specific.
What Is Inside Calldata?
Calldata looks like a long string of hex, but it has a clear structure. It begins with a short identifier for the function being called, followed by that function's arguments, all encoded into a machine-readable format. In plain terms, it answers two questions: which function, and with what values.
For example, the calldata of a token approval encodes the function approve, the spender being authorised, and the amount they can spend. Everything you are actually granting is right there, encoded, whether or not the app makes it obvious.

Why Calldata Matters for Your Safety
This is the part worth caring about. When a website asks your wallet to sign a transaction, the calldata is the true description of what you are authorising. A friendly button might say confirm, but the calldata is what actually executes. If the two do not match, reading the calldata is how you would catch it.
The classic example is a token approval. The interface might imply a small, one-time permission, while the calldata quietly grants an unlimited allowance to a spender you did not expect. Learning to check the decoded data is a core part of the habit covered in How to Read a Wallet Signature Request, and it is your best defence against signing something you would regret.
How to Read Calldata on an Explorer
You do not have to decode hex by hand. When a contract's code is available, a block explorer will show a transaction's decoded input, turning the raw calldata into a readable function name and a clear list of arguments. Open a contract interaction on an explorer, find the input data section, and switch to the decoded view to see exactly which smart contract function was called and what values were passed. If explorers are new to you, start with What Is a Blockchain Explorer.
Calldata and Fees
Calldata is not free. The more data a transaction carries, the more it costs, because the network has to store and process it. This is also why data efficiency matters so much for Layer 2 networks, which post their activity back to the main chain and pay for every byte, one of the reasons the cost of gas fees is tied so closely to how much data a transaction moves.
Key Takeaways
- Calldata is the input data of a transaction, the encoded instructions it sends to a smart contract.
- A plain coin transfer has no calldata, while a swap, approval, or mint packs its instructions into it.
- Inside is the function being called and its arguments, encoded as hex.
- Calldata is the true description of what you are authorising, so reading it protects you from misleading prompts.
- A block explorer can decode calldata into a readable function and arguments, and more calldata means higher fees.
Calldata is where a transaction stops being about money and starts being about instructions. It is the difference between sending coins and commanding a contract, and it is the one place that always tells the truth about what you are signing. Get into the habit of glancing at the decoded input before you approve, and you will catch the mismatches that separate a safe click from an expensive one.
This article is educational and is not financial advice. Always verify what you are signing before you approve a transaction.