EVM Compatibility

Relix is designed to behave like a familiar EVM chain. If you already build on Ethereum, BNB Chain, or other EVM networks, the same contracts, tools, and mental models apply here with only a few configuration changes.

At its core, Relix:

  • Uses the Ethereum account model (EOAs and contract accounts)

  • Executes smart contracts using an EVM-compatible execution engine

  • Exposes a standard JSON-RPC interface for wallets and tooling

  • Uses RLX as the native gas asset

From a developer’s point of view, Relix should feel like “another EVM network” with its own chain ID and RPC endpoints.


Smart contracts and languages

Most EVM-targeting languages and compilers work as expected on Relix:

  • Solidity via solc, Hardhat, Foundry, or Truffle

  • Vyper and other EVM-compatible compilers, as long as they emit standard bytecode

Typical patterns such as:

  • ERC-20, ERC-721, ERC-1155

  • Upgradeable contracts (via proxy patterns)

  • Factory contracts and minimal proxies (EIP-1167)

can be deployed without special handling, provided they are compiled for a standard EVM target.

If you are migrating an existing project, you will usually only need to:

  1. Add Relix Testnet (chain ID 4127) to your network configuration.

  2. Point deployments to https://rpc-testnet.relixchain.com.

The contract source code itself generally does not require changes.


Addresses, chain ID, and gas

Relix follows the usual EVM conventions:

  • Addresses are 20-byte values, displayed as hex with 0x prefix.

  • Chain ID is 4127 on testnet, and is returned by the eth_chainId RPC method.

  • The CHAINID opcode and block.chainid in Solidity will both report 4127 on testnet.

  • Gas is measured in units, with prices denominated in RLX (the native token).

Transaction fields such as nonce, gasLimit, maxFeePerGas, and maxPriorityFeePerGas behave as they do on other modern EVM chains that support EIP-1559 style fee calculation.


Events, logs, and indexing

Event logs on Relix adhere to the same structure as Ethereum:

  • Topics, data encoding, and indexed parameters follow the ABI specification.

  • Tools that depend on log filtering,indexers, analytics backends, subgraph-like systems,can use standard eth_getLogs and eth_newFilter calls.

If you already rely on an indexer or custom log processing pipeline for another EVM chain, you can usually point it to Relix with minimal changes, keeping in mind:

  • RPC endpoints and rate limits may differ.

  • You should configure chain ID 4127 to avoid mixing data from other networks.


Tooling and frameworks

Because Relix is EVM-compatible, most development frameworks only need a network entry like this:

In practice, this means you can:

  • Add Relix as a network in Hardhat or Foundry and reuse your existing deployment scripts.

  • Point frontend libraries (ethers.js, viem, web3.js, wagmi, etc.) to the Relix RPC URL.

  • Use common testing patterns such as forking, local simulation, or script-based deployments where supported by your tool of choice.


Porting existing projects

When moving contracts or applications from another EVM chain to Relix, it is helpful to double-check:

  1. Chain-specific assumptions

    • Hardcoded chain IDs, addresses (e.g. oracles, routers, or special contracts), or network names.

  2. External dependencies

    • Integrations with third-party services (price feeds, bridges, cross-chain messaging) may need Relix support before being reused as-is.

  3. Gas assumptions

    • Some applications encode expectations about gas limits or block gas capacity. Test on Relix to make sure those assumptions still hold.

For many pure smart contract projects,especially those that are self-contained,the migration step is as simple as deploying the same bytecode to Relix and updating frontend configuration.


Summary for developers

If you know how to build on Ethereum, you already know how to build on Relix:

  • Same EVM semantics

  • Same contract languages and tooling

  • Same JSON-RPC interface

The main differences are the network parameters (chain ID 4127, RPC URL, native token symbol) and the performance characteristics of the underlying chain. Everything else is designed to stay familiar so you can focus on your application, not on re-learning the base layer.

Last updated