Calldata decode
Decode calldata against a JSON ABI you supply. Each decoded parameter comes back as exact JSON text in paramsJSON.
https://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
abistringrequiredcallDatastringoptional0x…) to decode against the ABI.freshbooleanoptionaltrue 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
| HTTP | error.code | When |
|---|---|---|
| 400 | invalid_request | Malformed address, unknown field, null value or invalid JSON. |
| 401 | unauthorized | Missing or invalid API key. |
| 403 | scope_missing / tier_insufficient | The key lacks intelligence:read, or the plan is below Business. |
| 405 | method_not_allowed | Wrong HTTP method; the Allow header names POST. |
| 422 | unsupported | The chain (or the contract) is not supported by this method. |
| 429 | rate_limited | Over the intelligence per-second limit; wait Retry-After seconds. |
| 503 | unavailable | The lookup could not be completed right now; retry later. |
| 504 | timeout | The 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.