Skip to main content
The debug_* and trace_* namespaces give you opcode-level visibility into transaction execution. They’re used by block explorers, security tools, MEV searchers, and indexers that need internal-call data. Both namespaces are served from https://rpc.goldrushdata.com/v1/{chain}.
Looking for a wallet’s internal transaction history? These methods are per-transaction and per-block primitives, not a wallet-history endpoint. Reconstructing one address’s internal transfers from raw traces means scanning a block range twice with trace_filter (once by fromAddress, once by toAddress) - and on chains where trace_filter isn’t available (e.g. OP-stack L2s) falling back to debug_traceBlockByNumber block-by-block. For decoded, wallet-level internal transfers across chains with no client-side call-tree walking, use the Foundational API’s with-internal param instead.

debug_* methods (Geth-style)

MethodSummaryRate
debug_traceTransactionStep-by-step EVM trace of a mined transaction.0.015
debug_traceCallTrace an eth_call without producing a transaction.0.015
debug_traceBlockByHashTrace every transaction in a block (by hash).0.015
debug_traceBlockByNumberTrace every transaction in a block (by number).0.015
All four accept a tracer config:
{
  "tracer": "callTracer",
  "tracerConfig": { "withLog": true },
  "timeout": "30s"
}
Common tracer values: callTracer (call graph), prestateTracer (state diff), 4byteTracer (4-byte selector frequency), or omit for the default opcode-level trace.

trace_* methods (Parity-style)

MethodSummaryRate
trace_transactionParity trace of a mined transaction.0.015
trace_blockParity traces of every transaction in a block.0.015
trace_filterParity traces matching a filter (sender, recipient, range).0.015
trace_callParity trace of an eth_call.0.015
trace_callManyParity traces for a sequence of calls executed in order.0.015
trace_rawTransactionParity trace of a signed, unmined raw transaction.0.015
trace_replayTransactionReplay a mined transaction and return traces, vmTrace, and state diff.0.015
trace_replayBlockTransactionsReplay every transaction in a block with selectable trace outputs.0.015
trace_getFetch a specific sub-trace from a mined transaction by index path.0.015
trace_* is the canonical Erigon/Parity format. Prefer it when integrating with tooling that expects Erigon traces (e.g. block-explorer pipelines).

Per-chain availability

Trace and debug support depends on what the upstream node software exposes. Erigon and Reth both expose trace_* natively, while Geth-based upstreams expose debug_*. GoldRush surfaces whichever is available, and falls back to a normalized translation where one namespace is missing.
Chaindebug_*trace_*Archive depth
Ethereum (eth-mainnet)Genesis
Polygon (matic-mainnet)Genesis
BNB Smart Chain (bsc-mainnet)Genesis
Arbitrum (arbitrum-mainnet)Nitro genesis
Base (base-mainnet)Genesis
HyperEVM (hyperevm-mainnet)Genesis
MegaETH (megaeth-mainnet)⚠️ rolling⚠️ rollingLast 30 days
Monad (monad-mainnet)⚠️ rolling⚠️ rollingLast 30 days
Tempo (tempo-mainnet)⚠️ rolling⚠️ rollingLast 7 days
⚠️ “Rolling” means the upstream archive window slides forward over time. For deeper history on these chains, contact GoldRush support to discuss dedicated archive nodes.

Solana

Solana does not expose the debug_* or trace_* namespaces; they are EVM-specific. For transaction introspection on Solana, use:
GoalSolana method
Inspect a confirmed transaction’s logs, balances, and compute unitsgetTransaction
Dry-run a transaction and read its logs and state changes before sendingsimulateTransaction
Stream logs for a program or account in real timelogsSubscribe
simulateTransaction is the closest analogue to debug_traceCall / trace_call: it returns the program logs, the error (if any), compute units consumed, and optionally post-simulation account state, without broadcasting the transaction.

Pricing

debug_* and trace_* are heavier than standard eth_* reads. See pricing for full rates.

debug_traceTransaction

Most-used debug method.

trace_transaction

Parity-style equivalent.