Skip to main content

Differences between Ethereum and Celo

Differences between Ethereum and Celo

Celo is designed to be EVM-compatible, meaning that it closely mirrors Ethereum in terms of how contracts are written and executed. Most Solidity smart contracts and Ethereum-based tooling will work seamlessly on Celo without modification. However, Celo includes a few unique features and transaction types that are important to consider when developing on the platform.

Transaction Types on Celo

Ethereum Compatible Transaction Types

To achieve a high level of compatibility with Ethereum, Celo supports all relevant Ethereum transaction (tx) types for a Layer 2 solution. The following transaction types are fully compatible with Ethereum and require no changes to client libraries or tooling:

Celo-Specific Transaction Types

In addition to Ethereum-compatible transaction types, Celo introduces Celo-specific tx types that support its Fee Abstraction feature. Fee abstraction allows users to pay transaction fees with tokens other than CELO, making transactions more accessible for users in emerging markets.

  • CIP-64 (recommended), type 123: Introduces support for Celo’s advanced fee abstraction capabilities.
  • CIP-66 (coming soon), type 122: Will further enhance fee abstraction features when it is released.

Unsupported Transaction Types

Ethereuem-Specific Transaction Types

  • EIP-4844 type 3, which provides blobs for data availability on Ethereum, is not currently supported by Celo.

Celo-Specific Transaction Types

::: warning These transactions won't be supported after the L2 update.
:::

  • CIP-42, type 1254
  • Legacy Celo transaction, type 0, but with different fields than the Ethereum legacy transactions.

Gas and Optimization Differences

While Celo largely mirrors Ethereum’s gas structure, it introduces Fee Abstraction, which allows users to pay for gas fees in stablecoins like cUSD, making it more user-friendly. Celo uses similar gas costs to Ethereum, but developers should be aware of Celo’s unique optimization techniques to minimize transaction costs. These techniques can differ slightly from Ethereum due to the flexibility provided by Fee Abstraction.

For More Information

For more details on how to handle these transaction types and any differences between Ethereum and Celo, refer to the documentation on transaction types and Fee Abstraction on docs.celo.org.