---
title: "debug_traceTransaction"
method: POST
path: "/{category}/{ecosystem}/{apiKey}"
---

# debug_traceTransaction

`POST /{category}/{ecosystem}/{apiKey}`

Attempts to run the transaction in the exact same manner as it was executed on the network. It will replay any transaction that may have been executed prior to this one before it and will then attempt to execute the transaction that corresponds to the given hash.

## Path parameters

- `category` 'eth' | 'bsc' | 'polygon' | 'arb' | 'opt' | 'avalanche', required — The category represents the ecosystem category of the API. Available categories include "eth", "btc", "polygon", etc, see <span class="custom-style"><a href="./api-instructions" target="_blank">supported-ecosystems</a></span>.
- `ecosystem` 'mainnet' | 'testnet' | 'goerli' | 'sepolia' | 'mumbai' | 'Fuji', required — The ecosystem represents the specific network or environment of the API. Available ecosystems include "mainnet", "testnet", etc, see <span class="custom-style"><a href="./api-instructions" target="_blank">supported-ecosystems</a></span>.
- `apiKey` string, required — For higher throughput, please <span class="custom-style"><a href="../docs/quick-start-guide#-creating-your-api-key-on-the-zan-platform" target="_blank">create your own API key</a></span>.

## Request body

- object
  - `id` integer
  - `jsonrpc` string
  - `method` string
  - `params` union[] — 1. String - Transaction hash 2. Object - options for call, can be any of the following options: - `tracer`: Object - Currently supports `callTracer` and `prestateTracer` (see above for definitions). - `timeout`: String - A duration string of decimal numbers that overrides the default timeout of 5 seconds for JavaScript-based tracing calls. Max timeout is "10s". Valid time units are "ns", "us", "ms", "s" each with optional fraction, such as "300ms" or "2s45ms".
    - union
      - string — String - 32 Bytes - a string representing the hash of a transaction.
      - object — options for call
        - `tracer` 'callTracer' | 'prestateTracer'
        - `tracerConfig` object
          - `onlyTopCall` boolean
        - `timeout` string — A duration string of decimal numbers that overrides the default timeout of 5 seconds for JavaScript-based tracing calls. Max timeout is "10s". Valid time units are "ns", "us", "ms", "s" each with optional fraction, such as "300ms" or "2s45ms".

## Response `200`

Returns transaction trace

- object
  - `id` integer
  - `jsonrpc` string
  - `result` object — trace for the transaction
    - `type` string — CALL or CREATE
    - `from` string — 20 Bytes - address of the sender
    - `to` string — 20 Bytes - address of the receiver. null when its a contract creation transaction
    - `value` string — amount of value for transfer (in hex)
    - `gas` string — amount of gas provided for the call (in hex)
    - `gasUsed` string — amount of gsa used during the call (in hex)
    - `input` string — call data
    - `output` string — return data
    - `error` string — error, if any
    - `revertReason` string — solidity revert reason, if any
    - `calls` unknown[] — list of sub-calls
      - unknown

---

[API](https://skmtc.net/zan/apis/zan-getnftmetadata.md) · [All operations](https://skmtc.net/zan/apis/zan-getnftmetadata/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zan/zan-getnftmetadata/versions/be8fa2338895/schema)
