LogoLogo
WebsiteLinksMedia KitGitHub
  • Introduction
  • Sonic
    • Overview
    • S Token
    • Wallets
    • Sonic Gateway
    • Build on Sonic
      • Getting Started
      • Deploy Contracts
      • Verify Contracts
      • Tooling and Infra
      • Native USDC
      • Contract Addresses
      • Network Parameters
      • Integrating Staking
      • Programmatic Gateway
      • Gas Pricing
      • Learn Solidity
    • Node Deployment
      • Archive Node
      • Validator Node
      • Node Recovery
      • Upgrade Instructions (2.1)
    • FAQ
  • Funding
    • Sonic Airdrop
      • Claim (Season 1)
      • Sonic Points
      • Sonic Gems
      • Game Gems
    • Fee Monetization
      • Apply
      • Dispute
      • FeeM Vault
    • Innovator Fund
    • Sonic & Sodas
  • Technology
    • Overview
    • EVM Compatibility
    • Pectra Compatibility
      • Account Abstraction
      • Fee Subsidies
      • Dynamic Fees
      • Alternative Fee Payments
      • Tic-Tac-Toe Demo
    • Consensus
    • Database Storage
    • Proof of Stake
    • Version History
    • Audits
Powered by GitBook
On this page
Export as PDF
  1. Technology

EVM Compatibility

PreviousOverviewNextPectra Compatibility

Last updated 1 month ago

© 2025 Sonic Labs

CtrlK

Sonic is fully compatible with the Ethereum Virtual Machine (EVM). Any smart contract that runs on Ethereum can be deployed on Sonic without modification.

  • Supported Languages Solidity and Vyper

  • Supported EIPs Sonic supports Ethereum's Cancun hard fork features, including PUSH0 opcode (EIP-3855), with the exception of EIP-4844 data blobs. All transactions must have a Chain ID (EIP-155 is enforced).

Note on PUSH0 Opcode: Sonic's EVM supports the PUSH0 opcode. RPC tests that fail with eth_call are often missing the required block parameter (e.g., "latest"). A correctly formatted call like eth_call with params [{"to": null, "data": "0x5f"}, "latest"] will succeed.