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:
Standard Mode
Delegate Mode
Underlying Protocols (ciculateType):
ciculateType):CCTP (Cross-Chain Transfer Protocol)
AcrossV3
Modes
Standard Mode: Approve & Circulate
The standard interaction with Circulator follows a two-step process:
Approve the Circulator contract to spend your USDC.
Call the
depositfunction 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:
Permit: Authorizes token approvals via signature, replacing the approve step in Standard Mode. USDC supports this feature.
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
Type
0: CCTP (Cross-Chain Transfer Protocol)Suitable for users prioritizing zero slippage
Ideal for larger transfer amounts
Type
1: AcrossV3Faster, 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