Calldata Decode

Work out what a transaction actually does, before signing it.

$0.0020 per call POST /v1/tools/calldata-decode

Call it

The first response is 402 with the exact price and every rail you can pay with. Pay, repeat the request with the proof, and you get the result.

curl -X POST https://api.glianalabs.com/v1/tools/calldata-decode \
  -H 'content-type: application/json' \
  -d '{"calldata":"0xa9059cbb000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000f4240"}'

When to use it

Use when an agent is handed an unsigned transaction - including one from tools/swap-build - and needs to know what it calls and with what arguments. Inputs: calldata (required, the hex input data). Returns the 4-byte selector, the most likely signature, arguments decoded by type (address, uintN, intN, bool, bytesN; dynamic types are reported as offsets rather than guessed), and collisions with other_candidates. The ordering is the safety property: 4byte.directory accepts submissions from anyone, so a selector can be claimed by a name chosen to collide with a popular one - the plain ERC-20 transfer selector answers a spam name first by default - and candidates here are ordered oldest-submission-first, with every rival reported rather than hidden. A signature is a strong hint, never proof, because 4byte maps selectors to names and does not know which contract you are calling.

What it costs

$0.0020 per successful call — flat, with no plan, minimum or monthly fee. A call that fails validation is refused before it runs, so it is never charged.

Not sure this is the right endpoint? GET /v1/consult?intent=… is free and answers that.