Skip to main content

RPC reference

EVM nodes provide the same RPCs as Tezos L1 nodes on their Michelson endpoint. The Michelson endpoint is served at the /tezlink sub-path of the node's base RPC URL. For example, a node running on the default port exposes the Michelson interface at http://localhost:8545/tezlink. For public endpoint URLs, see Michelson network information.

Refer to the RPC reference in the Octez documentation (also available as a set of OpenAPI descriptions).

Some Tezos RPCs have no handler on Etherlink and will return an error; others are registered but behave differently due to the different context (no delegation, no baking, no voting).

Not applicable

The following L1 RPCs do not make sense in Etherlink so they don't have a handler in Etherlink and will always return an error if called:

  • DelegationGET /context/contracts/<addr>/delegate and related staking/frozen-balance RPCs.
  • Baking and endorsing rightsGET /helpers/baking_rights, GET /helpers/endorsing_rights.
  • Voting and governance — all /context/votes/* RPCs.
  • Mempool operationsGET /chains/<chain>/mempool/pending_operations and related.
  • Block and protocol injectionPOST /injection/block, POST /injection/protocol.

Not implemented

The following L1 RPCs have no handler for the moment in Etherlink and return an error when called:

  • TicketsGET /context/contracts/<addr>/ticket_balance, all_ticket_balances.
  • Script executionPOST /helpers/scripts/run_code, POST /helpers/scripts/trace_code, POST /helpers/scripts/run_script_view.

Differences from L1

The following L1 RPCs exhibit different behavior in Etherlink, either temporarily (because not fully implemented) or permanently (because the context is different):

RPCDifference
GET /context/contracts/<addr>/counterReturns 0 for unallocated implicit accounts; Etherlink has no global counter. (#7960)
POST /helpers/scripts/simulate_operationPartial implementation; full simulation is not yet supported. (#7965)
POST /injection/operationThe async=true parameter is not yet honored; the node always waits for validation before returning. (#8007)
GET /versionReturns a stub value with an empty commit hash and date.
GET /context/issuance/expected_issuanceReturns dummy zero rewards; Etherlink has no token issuance.
POST /helpers/scripts/pack_dataUses a throwaway dummy context instead of the live chain state; results may differ for gas-sensitive encodings.
GET /context/constantsSeveral constants differ from mainnet: minimal_block_delay = 1 s; hard_gas_limit_per_operation = 660,000 gas (≈ 30 M EVM gas ÷ 22); cost_per_byte = 1 mutez.
arrow icon

Prev

Dapps

Next

arrow icon
Tezos Unity SDK