Polygon
¿Listo para usar esto en producción?
El plan gratuito cubre proyectos personales. El pago por uso escala sin necesidad de tarjeta.
Polygon
El plan gratuito cubre proyectos personales. El pago por uso escala sin necesidad de tarjeta.
debug_traceCall runs a call against a chosen Polygon PoS block state and traces it in full, all without broadcasting a transaction or spending any MATIC on gas. Because Polygon's Bor client is Geth-based, you get the same tracer choices as on Ethereum — callTracer, prestateTracer, or the default struct-log — plus optional state and block overrides for what-if simulations. Send the request to https://polygon.therpc.io/YOUR_API_KEY (chain ID 137, 0x89). It executes the call against the given block state and returns a full opcode-level trace without submitting a transaction.
stateOverrides to swap in modified bytecode.| # | Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|---|
| 1 | transaction | object | Sí | Call object — same fields as eth_call: `from?`, `to`, `gas?`, `gasPrice?`, `maxFeePerGas?`, `maxPriorityFeePerGas?`, `value?`, `data?`. |
| 2 | blockParameter | string | No | Block number or tag defining the state against which the call is simulated.Predeterminado: latest |
| 3 | options | object | No | Same tracer configuration object as debug_traceTransaction (tracer, tracerConfig, timeout, reexec, enableMemory, enableReturnData, disableStack, disableStorage, limit, debug). |
| 4 | stateOverrides | object | No | Optional map of address → { balance, nonce, code, state, stateDiff } overrides applied only for this call. |
| 5 | blockOverrides | object | No | Optional map of block-context fields to override (e.g. `number`, `time`, `gasLimit`, `coinbase`, `random`, `baseFee`) for the simulated call. |
| Tipo | Descripción |
|---|---|
| object | Same shape as debug_traceTransaction: structLog array with default tracer, or tracer-specific object (callTracer, prestateTracer, etc.). |
Try it live in the Polygon playground.
| Código | Mensaje | Causa |
|---|---|---|
-32601 | Method not found | debug namespace not enabled on the node. |
-32602 | Invalid params | Transaction object is missing required fields or blockParameter is unrecognized. |
-32000 | execution reverted | Simulated call reverted; trace is still returned up to the revert point. |
latest.callTracer, or disable stack, memory, and storage in the options to keep it manageable.Parámetros
Call object — same fields as eth_call: `from?`, `to`, `gas?`, `gasPrice?`, `maxFeePerGas?`, `maxPriorityFeePerGas?`, `value?`, `data?`.
hex block number or "latest" | "earliest" | "pending"
Same tracer configuration object as debug_traceTransaction (tracer, tracerConfig, timeout, reexec, enableMemory, enableReturnData, disableStack, disableStorage, limit, debug).
Optional map of address → { balance, nonce, code, state, stateDiff } overrides applied only for this call.
Optional map of block-context fields to override (e.g. `number`, `time`, `gasLimit`, `coinbase`, `random`, `baseFee`) for the simulated call.