Calldata decode

Decode calldata against a JSON ABI you supply. Each decoded parameter comes back as exact JSON text in paramsJSON.

POSThttps://triport.io/v1/intelligence/decode
Network
Chainless: one call covers every supported chain; no chain field
Scope
intelligence:read
Auth
x-token: $TRIPORT_API_KEY header (or Authorization: Bearer)
Rate limit
Business — 30 rps (intelligence, burst ×2); Enterprise — 150 rps

Decode calldata against a JSON ABI you supply. Each decoded parameter comes back as exact JSON text in paramsJSON.

Parse paramsJSON with a precision-preserving JSON parser if you need numbers. Decoding shows what a call says, not what it will do when executed.

This method takes no chain.

Every answer is an envelope with state, meta, optional data and optional error. Read state first: ok, empty, partial, stale, unsupported or unavailable (see response states). meta.cached tells you whether the answer came from cache.

Parameters

abistringrequired
JSON ABI, as a string.
callDatastringoptional
Optional calldata (0x…) to decode against the ABI.
freshbooleanoptional
Optional. true skips the cache and asks for a new lookup (GET routes: ?fresh=1).

Response

Response recorded on 2026-11-06 through https://triport.io (long lists shortened). Values change over time.

Errors

HTTPerror.codeWhen
400invalid_requestMalformed address, unknown field, null value or invalid JSON.
401unauthorizedMissing or invalid API key.
403scope_missing / tier_insufficientThe key lacks intelligence:read, or the plan is below Business.
405method_not_allowedWrong HTTP method; the Allow header names POST.
422unsupportedThe chain (or the contract) is not supported by this method.
429rate_limitedOver the intelligence per-second limit; wait Retry-After seconds.
503unavailableThe lookup could not be completed right now; retry later.
504timeoutThe lookup took too long; retry, or retry later with the same input.

See errors, limits and states for the full rules and the code examples.