BNB Smart Chain
¿Listo para usar esto en producción?
El plan gratuito cubre proyectos personales. El pago por uso escala sin necesidad de tarjeta.
BNB Smart Chain
El plan gratuito cubre proyectos personales. El pago por uso escala sin necesidad de tarjeta.
trace_call runs a call against a chosen block's state and traces it, without ever broadcasting a transaction. The result can include an OpenEthereum-style call-tree trace, an optional opcode-level VM trace, and an optional state diff. BSC settles in BNB and runs the BEP-20 contracts behind venues like PancakeSwap, so this is how you preview what a router or swap call would actually do before committing gas to it. Send the request to chain ID 56 at https://bsc.therpc.io/YOUR_API_KEY. The traceTypes array decides which artifacts get computed, keeping the response to the detail you asked for. Simulating against a past block pulls in historical state, which makes it a heavy call that needs a trace-enabled archive node.
stateDiff to confirm a prospective transaction touches exactly the balances and storage slots you expect, and nothing more.| # | Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|---|
| 1 | transaction | object | Sí | Call object: `from?`, `to`, `gas?`, `gasPrice?`, `value?`, `data?`. |
| 2 | traceTypes | array | Sí | Array of trace types to include: `"trace"` (call tree), `"vmTrace"` (opcode-level), `"stateDiff"` (storage/balance diffs). |
| 3 | blockParameter | string | No | Block state against which to simulate the call.Predeterminado: latest |
| Tipo | Descripción |
|---|---|
| object | `{output, trace?, stateDiff?, vmTrace?}` — `trace` is a flat call-tree array, `stateDiff` maps each touched address to its balance/nonce/code/storage diffs, `vmTrace` provides opcode-level detail (Parity-format). |
Try it live in the BNB Smart Chain playground.
| Código | Mensaje | Causa |
|---|---|---|
-32601 | Method not found | trace namespace not enabled or client does not support trace_call. |
-32602 | Invalid params | Transaction object missing required fields, traceTypes array is empty or contains unrecognized values, or blockParameter is invalid. |
-32000 | execution reverted | Simulated call reverted; partial trace is still returned. |
vmTrace output uses a Parity-specific shape that differs from the structLog Geth returns from debug_traceCall.Parámetros
Call object: `from?`, `to`, `gas?`, `gasPrice?`, `value?`, `data?`.
["trace"] | ["trace","vmTrace","stateDiff"] — at least one required
hex block number or "latest" | "earliest" | "pending"