Skip to main content

Optimism → Celo L2

Blocks

Celo L2 block times are 1s as opposed to 2s for Optimism. The gas limit per block remains the same.

Native token

The native token is CELO as opposed to ETH. The native token is also an ERC20 token.

New transaction type

Type 123 (0x7b) transaction type allows paying for gas in currencies other than the native asset (CELO). It has an additional field feeCurrency which allows the sender to choose the gas currency. See here for details on using fee currencies.

The fee currencies available at Mainnet launch will be:

  • USDC (USDC)
  • Tether USD (USD₮)
  • PUSO (PUSO)
  • ECO CFA (eXOF)
  • Celo Kenyan Shilling (cKES)
  • Celo Dollar (cUSD)
  • Celo Euro (cEUR)
  • Celo Brazilian Real (cREAL)

More details on supported transaction types here.

L1 fees

In the Optimism model, an extra fee is added in order to cover the cost of transactions on the L1. This can be surprising to users as it is not included in the results of calling eth_estimateGas and is challenging to predict.

The Celo L2 improves upon this experience by always keeping the L1 fee at zero. The L1 costs are covered by raising or lowering the base fee floor. This approach allows the full transaction cost to be estimated ahead of time.

EIP-1559 implementation

The Celo L2 adds a base fee floor, which imposes a lower limit on the base fee. This is currently configured via the chain config.

The starting base fee floor values are:

  • Alfajores testnet:
    • base fee floor: 25 gwei
  • Baklava testnet:
    • base fee floor: 25 gwei

MaxCodeSize

The hardcoded protocol parameter MaxCodeSize is raised from 24576 to 65536.

Improved finality guarantees

Celo L2 blocks reference L1 blocks that are finalized, which fully protects against L1 re-orgs. In contrast, Optimism blocks reference only 4 blocks behind the L1 head.