# eth_simulateV1: parámetros, retornos y CU

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

## Resumen

Simula una secuencia de llamadas o transacciones sobre el estado de un bloque sin transmitirlas a la red. ([Documentación oficial](https://ethereum.github.io/execution-apis/api/methods/eth_simulateV1))

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

- CU por llamada: 20 CU
- Precio por 1M de llamadas (USD): $2.00

## Parámetros

| Parámetro | Tipo | Descripción |
| --- | --- | --- |
| `payload` | `object` | Objeto de carga útil de la simulación: blockStateCalls (obligatorio) es un array de bloques simulados, cada uno con blockOverrides opcionales (anulaciones de encabezado de bloque), stateOverrides (anulaciones de estado de cuenta) y calls (las llamadas o transacciones a ejecutar en ese bloque); validation (booleano, por defecto false) ejecuta la mayoría de las validaciones estándar de la EVM cuando es true y se comporta como eth_call cuando es false; traceTransfers (booleano, por defecto false) añade transferencias de ETH a los logs como eventos Transfer ERC-20; returnFullTransactions (booleano) devuelve objetos completos de transacción cuando es true, o solo hashes en caso contrario. |
| `block` | `QUANTITY\|TAG\|HASH` | Número de bloque opcional (cantidad hexadecimal con prefijo 0x), hash de bloque o etiqueta de bloque contra la que se ejecuta la simulación; el valor predeterminado es 'latest'. |

## Devuelve

- **Tipo**: `ARRAY`
- **Descripción**: EthSimulateResult: un array de objetos de bloque simulados, cada uno con campos de encabezado como number, hash, parentHash, timestamp, gasLimit, gasUsed, baseFeePerGas y feeRecipient, además de un array calls; cada llamada tiene status (0x1 éxito, 0x0 fallo), returnData, gasUsed y maxUsedGas, con logs en caso de éxito o error en caso de fallo.

## Notas

La disponibilidad depende de la política de métodos de la cadena (methods.allow). Las cadenas donde este método no está habilitado devuelven -32601 method not available (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": "eth_simulateV1",
    "params": [
      {
        "blockStateCalls": [
          {
            "calls": [
              {
                "to": "<toAddress>",
                "data": "<callData>"
              }
            ]
          }
        ]
      },
      "latest"
    ],
    "id": 1
  }'
```

## Cadenas compatibles

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