Tool · runs in your browser

ABI encode function call: build calldata from a signature and arguments

Type a function signature, then one value per argument: the encoder builds the calldata a wallet or a multisig needs, with the selector and the canonical signature. Arrays and structs are entered as JSON, and max stands for the largest unsigned value.

Function call
A function signature, then one value per argument.
How to use it

How to use it

  1. 1Type the signature, e.g. transfer(address to, uint256 amount).
  2. 2Fill in each argument: numbers in decimal or hex, addresses as 0x…, arrays and structs as JSON.
  3. 3Copy the calldata into your transaction, multisig or script.
Explained

How ABI encoding works

Calldata starts with the 4-byte selector of the function. The arguments follow in order: static types (address, uint, bool, bytes32) each take one 32-byte word, padded; dynamic types (string, bytes, arrays) are written as an offset first and their contents after the static part.

Structs are encoded as tuples of their members. The encoder does all of this for you with viem's encodeFunctionData.

FAQ

Frequently asked questions

How do I enter an array or a struct?

As JSON: [1, 2, 3] for uint256[], ["0x…", "0x…"] for address[], and an array of objects or arrays for a struct array, e.g. [{"to": "0x…", "amount": "5"}].

Does the encoder send a transaction?

No. It only builds the calldata; you send it with your wallet, multisig or script.

How do I check what I encoded?

Paste the calldata into the calldata decoder: it reads the function and arguments back.

Is what I type sent anywhere?

No. The tool runs entirely in your browser: what you paste is never sent to a server and there is no sign-up.

Can I get an alert when this function is called?

Yes. Add the contract and pick the method: every successful call reaches you within seconds of confirmation, with conditions on its arguments if you like.

Keep exploring

More tools and alerts

Know the moment it happens on chain

Turn any event into an alert. The Beta plan is free: one wallet and one contract, no credit card.