Help with cross-chain payments between **Internet Computer (ICP)** and **Ethereum (ETH)** to integrate with Fireblocks-based payment gateway

Hello DFINITY Community,

I hope you’re all doing well. I’m seeking your advice on the best way to approach a specific integration challenge. I work for Cero Trade, and we’re trying to facilitate cross-chain payments between Internet Computer (ICP) and Ethereum (ETH) to integrate with Koywe and its Fireblocks-based payment gateway.

Problem Description

We need to convert ICP to ETH to enable seamless cross-chain payments via Koywe, which uses Fireblocks. Currently, our platform operates entirely on the Internet Computer, and we aim to offer payments in Ethereum-based tokens via Koywe.

Why Koywe?
It charges less per transaction than AlchemyPay and is available in LATAM countries, where we operate. If anyone thinks of a better idea to allow for web2/other crypto payment in the platform, it is also welcome.

Key Considerations:

  1. Minimize transaction fees.
  2. Simplify the development and maintenance process.
  3. Ensure secure cross-chain transactions.

Current Options Being Considered

I’ve explored a few ways to achieve this and identified the following options:

1. Using Wrapped ICP (WICP) via Terabethia Bridge

  • Steps:
    1. Convert ICP to WICP using the Psychedelic WICP canister.
    2. Use Terabethia Bridge to convert WICP to an ERC-20 token on Ethereum.
    3. Swap the ERC-20 WICP for ETH on Uniswap or another DEX.
    4. Transfer ETH to Koywe for payments via Fireblocks.
  • Pros:
    • Leverages existing standards like DIP20 and ERC-20.
    • Allows seamless integration with Ethereum-based DEXs.
  • Cons:
    • Multiple conversion steps.
    • High fees due to Ethereum’s gas costs.

2. Using Bfinity Network (InfinitySwap)

  • Steps:
    1. Register on Bfinity Network.
    2. Convert ICP to ckBTC (Chain-Key BTC) or tokens ERC-20 via Bfinity.
    3. Swap ckBTC or ERC-20 tokens to ETH using the DEXs on Bfinity.
    4. Transfer ETH to Koywe for payments via Fireblocks.
  • Pros:
    • Direct cross-chain integration.
    • Simplifies the conversion process.
  • Cons:
    • Limited DEX liquidity.
    • Still involves multiple conversion steps.

3. Something similar to the post below

Request for Feedback

I’m reaching out to the community to gather insights on the best way to approach this conversion process while minimizing costs and maximizing efficiency. Specifically, I’m interested in:

  1. Alternative Approaches: Any alternative ways to achieve this conversion more efficiently.
  2. Optimization Tips: Ways to optimize the options mentioned above.
  3. Security Considerations: Potential security risks and mitigation strategies.

Thank you all in advance for your advice and suggestions.


To confirm, it sounds like you are planning to use Koywe as a fiat off-ramp provider. However, it looks like Koywe does not support an ICP to fiat off-ramp, and you would like to convert ICP to ETH and then off-ramp using ETH.

You may want to look into Banxa.

If you insist on converting ICP to ETH, a simpler path would be to:

  1. Convert ICP to ckETH
  2. Convert ckETH to ETH
  3. Transfer ETH to Koywe for payments

In the next couple of months, you could opt for ckUSDC / ckUSDT instead of ckETH to ensure a more 1:1 conversion to fiat.

1 Like

You could consider developing your own custom canister for the cross-chain payment process. By doing so, you gain control over the entire conversion flow. For instance, you can directly swap ICP to ckETH and initiate the transfer to the destination Ethereum address via the withdraw_eth function. If Koywe supports this type of transaction, you could ideally send the payment directly to its contract address. Otherwise, you may need to transfer it to your own smart contract first before initiating the payment through Koywe. This approach minimizes fees, offers fast transactions, and fully utilizes the capabilities of ICP.


Thank you Jennifer, I will look into it. Do you know about any on/off ramp services integrated with ICP?

Hi vdve1997

There are several onramps, for example:

As for providers offering both on & offramp for ICP, I know of:

Alchemy Pay
Bity. com

AlchemyPay is the most comprehensive on/off-ramp for ICP is also another on/off-ramp but only off-ramp to INR, TRY, NGN, PHP, EUR, and IDR. They are looking to expand to other fiat currencies in the future.

I mentioned Banxa in the previous post because they are the on-ramp provider currently on the NNS dapp (they do not have an off-ramp at the moment).

1 Like