# debug_traceCall: parámetros, retornos y CU

> Source: https://docs.blockvectra.com/es/api/json-rpc/methods/debug_traceCall/

## Resumen

Ejecuta un eth_call sobre el estado de un bloque determinado y genera un trace de ejecución. ([Documentación oficial](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracecall))

## Unidades de cómputo (CU) y precios

- CU por llamada: 100 CU
- Precio por 1M de llamadas (USD): $10.00

## Parámetros

| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| `call` | `object` | Objeto de llamada de transacción, que contiene from, to, data, gas, gasPrice, value. |
| `block` | `QUANTITY\|TAG\|HASH` | Número de bloque (cantidad hexadecimal con prefijo 0x), hash de bloque o la etiqueta 'latest' / 'pending' contra la que rastrear; safe, finalized y earliest devuelven -32011. |
| `options` | `object` | Objeto opcional de opciones de trace: tracer puede ser callTracer, flatCallTracer, prestateTracer, 4byteTracer o noopTracer; cuando se omite, usa el registrador struct predeterminado, y cualquier otro valor devuelve -32602 tracer not allowed; tracerConfig define opciones específicas del tracer (como onlyTopCall y withLog para callTracer, diffMode para prestateTracer); timeout es como máximo 30s; reexec define el número de bloque para volver a ejecutar la transacción; también admite stateOverrides, blockOverrides y txIndex. |

## Devuelve

- **Tipo**: `OBJECT`
- **Descripción**: Objeto con el resultado del trace de ejecución correspondiente al tracer solicitado (árbol CallFrame para callTracer).

## Notas

El bloque de destino debe estar dentro de la ventana de estado de la cadena (state_window_blocks); las solicitudes fuera de la ventana devuelven -32011 (no facturado).

## Ejemplo de solicitud

```bash
export BLOCKVECTRA_API_KEY=rgw_your_api_key

curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "method": "debug_traceCall",
    "params": [
      {
        "to": "<toAddress>",
        "data": "<callData>"
      },
      "latest",
      {
        "tracer": "callTracer"
      }
    ],
    "id": 1
  }'
```

## Cadenas compatibles

Disponible en todas las cadenas compatibles excepto: Base (base_mainnet), BNB Smart Chain (bsc_mainnet), Ethereum Sepolia (eth_sepolia), HyperEVM (hyperevm_mainnet).
