Key Concepts

Modes of Operation and Circulate Types

Interacting with Circulator is similar to interacting with any other contract that accepts ERC20 tokens, but with enhanced simplicity. Users can choose between two modes of operation and two underlying protocols (circulateTypes):

Modes of Operation:

  1. Standard Mode

  2. Delegate Mode

Underlying Protocols (ciculateType):

  1. CCTP (Cross-Chain Transfer Protocol)

  2. AcrossV3


Modes

Standard Mode: Approve & Circulate

The standard interaction with Circulator follows a two-step process:

  1. Approve the Circulator contract to spend your USDC.

  2. Call the deposit function to initiate the cross-chain transfer.

(For code examples, please refer to here.)

Gasless Mode: Delegate Circulate

For improved UX, especially for EOA wallets or onboarding new users, consider using Delegate Mode. This mode allows transactions even if a user lacks ETH in their wallet. It utilizes two signatures:

  1. Permit: Authorizes token approvals via signature, replacing the approve step in Standard Mode. USDC supports this feature.

  2. DelegateDeposit: An EIP-712 signature ensuring delegators can only transfer funds to the user's intended destination.

After obtaining both signatures, submit them to our API service for delegation.


Fee Estimation

Circulator charges a fixed fee to cover the cost of relaying USDC on the destination chain, plus a base fee to prevent griefing attacks. To calculate the total USDC deduction from the transfer amount, use the totalFee function on our contract.

Circulator Types

  1. Type 0: CCTP (Cross-Chain Transfer Protocol)

    • Suitable for users prioritizing zero slippage

    • Ideal for larger transfer amounts

  2. Type 1: AcrossV3

    • Faster, especially for small order sizes

    • Suitable for users prioritizing speed over minimal slippage

Users can combine any mode of operation with either underlying protocol, allowing for flexible usage based on specific needs:

Last updated