Skip to main content

How It Works

This page provides a high-level overview of how Neon EVM coordinates communication between Ethereum dApps and Solana.

Neon EVM's transaction lifecycle

Effecting a user-initiated transaction (tx) from an Ethereum dApp on Solana requires three main steps:

  1. The user initiates a tx. A tx is a signed Ethereum-like tx directed to a Neon RPC endpoint.

See How to Connect to the Neon RPC via an Ethereum-compatible wallet.

The Ethereum API passes the tx to the Neon Proxy via the Neon API service.

  1. This request is received by the Neon Proxy.

    2.1 The Neon Proxy processes the request, providing:

    • Gas usage estimate for tx execution
    • Broadcast initiation: wrapping the Ethereum-like tx as a Solana tx

    2.2. The Neon Proxy passes the wrapped tx to the Neon EVM program hosted on Solana. This results in the following:

    • A Solana receipt
    • A corresponding Neon EVM receipt

    2.3 The Neon smart contract then:

    • Unwraps the tx and checks the user's signature
    • Loads the EVM state, including account data and the smart contract's code, from Solana storage
    • Executes the tx inside Solana BPF
    • Updates Solana's state to reflect the new Neon EVM state
  2. Solana and Neon EVM undertake a state change.

This completes the tx request.

Was this page helpful?