Skip to main content

Overview

Advanced
Ethereum

What is ckETH?

Chain-key Ethereum (ckETH) is an ICRC-2-compliant token that is backed 1:1 by ETH held 100% on the mainnet.

Like ckBTC, ckETH does not rely on a centralized bridge to facilitate the conversion between ETH and ckETH, which makes it substantially more secure when compared to other traditional 'wrapped' tokens.

ckETH has the same attributes and advantages as ckBTC, but corresponding to ETH instead of BTC. ckETH and ETH have the same value and can be swapped for one another seamlessly, and ckETH has faster and cheaper transactions than ETH.

How it works

The ckETH functionality is provided through an interplay of a suite of canisters on ICP, and a helper contract on Ethereum:

Canister / contractEthereum mainnetSepolia testnet
Mintersv3dd-oaaaa-aaaar-qacoa-cai (Dashboard)jzenf-aiaaa-aaaar-qaa7q-cai (Dashboard)
Ledgerss2fx-dyaaa-aaaar-qacoq-caiapia6-jaaaa-aaaar-qabma-cai
Indexs3zol-vqaaa-aaaar-qacpa-caish5u2-cqaaa-aaaar-qacna-cai
Helper0x7574eB42cA208A4f6960ECCAfDF186D627dCC1750xb44B5e756A894775FC32EDdf3314Bb1B1944dC34

The ckETH minter is responsible for the minting and burning of ckETH tokens. It uses the following workflow:

  • Tokens are minted when a user calls the deposit function of the helper contract on Ethereum with some ETH attached. The deposit function takes the receiver's principal as an argument and emits a ReceivedEth event with the sender, value, and receiver as payload.

  • The ckETH minter listens to the ReceivedEth event by periodically fetching logs from multiple Ethereum JSON RPC cloud providers and mints the corresponding amount of ckETH to the receiver's account on the ckETH ledger.

  • Users can withdraw ETH by creating an ICRC-2 approval on the ledger and calling withdraw_eth with a receiver ETH address as an argument on the minter.

  • The minter will then burn the ckETH on the ledger and create an Ethereum transaction and submit it to the Ethereum network.

A detailed description of the ckETH minter can be found in its GitHub repository.

The ckETH ledger and ckETH index canisters are regular ICRC-1 compliant canisters. A guide on how to interact with these canisters can be found in the using the ICRC-1 ledger section.

ckETH use-cases

ckETH has many of the same use-cases as ckBTC, such as:

  • Token swaps

  • Decentralized exchanges

  • Point of sale applications and services

  • Crowdfunding applications

  • eCommerce platforms

  • Faster and cheaper ETH transactions

ckETH production application examples

Further reading