Search

Search for projects by name or address

Circle Gateway logo
Circle Gateway

About

Chain abstraction protocol built by Circle. Used mainly for USDC, users can deposit to get an offchain balance, that can then be used on any chain that is natively supported by Circle USDC.


    Last 24h volume
    $34.26 M
    Last 24h transfer count
    929
    Last 24h top path
    polygonposethereum$19.97 M

    Last 24h avg. transfer time
    Last 24h avg. transfer value
    $36.87 K
    Tokens by volume
    USDC

    Transfer size
    Under $100
    $100-$1K
    $1K-$10K
    $10K-$100K
    Over $100K

    Transfer type distribution
    Burn & Mint

    About

    Chain abstraction protocol built by Circle. Used mainly for USDC, users can deposit to get an offchain balance, that can then be used on any chain that is natively supported by Circle USDC.

    Top token

    Volume
    $34.26 M
    Transaction count
    929

    Chain abstraction protocol built by Circle. Used mainly for USDC, users can deposit to get an offchain balance, that can then be used on any chain that is natively supported by Circle USDC.

    Architecture

    Circle Gateway is a chain-abstraction layer for USDC: users deposit native USDC into GatewayWallet contracts on supported source chains and Circle’s Gateway system tracks those deposits as an offchain unified balance. The user can spend against the aggregate balance on any supported destination chain.

    Crosschain Oracle and validation

    A user deposits through GatewayWallet. To spend the unified balance, the user signs one or more BurnIntent payloads specifying source and destination domains, token, recipient, amount, fee cap, expiry, and optional hook data. On the destination chain, anyone can call GatewayMinter.gatewayMint with the attestation payload and a signature from a configured Gateway attestation signer; GatewayMinter mints USDC to the destination recipient. On the source chain, GatewayWallet validates the signed burn intent, deducts the user’s available or withdrawing balance, collects fees, and burns the corresponding USDC (this happens after the mint at the destination!). The Ethereum GatewayWallet and GatewayMinter use 1 burn signer on GatewayWallet and 1 attestation signer on GatewayMinter.

    Withdrawal self-service

    If the Circle API is unavailable, users can use an onchain two-step withdrawal path; on Ethereum the discovered withdrawalDelay is 7 days (50400 blocks at 12-second block time). This delay gives the Gateway system time to burn funds that may already have been minted elsewhere before the withdrawal completes.

    Upgradeability

    Both Gateway contracts are proxies with owner/admin, pauser, denylister, signer-management, fee-recipient, and token-support roles; upgrade admins on Ethereum can replace implementations with no onchain delay.

    Monitoring

    Circle does not provide a block explorer. There currently is no security, transparency or monitoring related tooling for CCTP or Gateway users.

    Symbol
    Last 24h Volume
    Last 24h transfer count
    Last 24h avg. transfer time
    Last 24h avg. transfer value
    From
    To
    Timestamp
    Tokens
    Value
    Transfer time
    Chains

    Ethereum

    Actors:

    • Can interact with USD Coin Token
      • mint the token in the bounds of a preset minting allowance
    • Can interact with TokenMinter
      • set the local TokenMessenger, token controller, pauser, rescuer, and transfer ownership
    • Can interact with TokenMessengerV2
      • transfer any ERC-20 tokens out of the contract
    • Can interact with USD Coin Token
      • blacklist addresses, freezing any interactions with the USDC token for them
    • Can interact with GatewayWallet
      • allowlist or disallowlist contract signers for Gateway burn intents
    • Can interact with TokenMessengerV2
      • configure remote TokenMessengers, the local minter, V2 fee recipient and denylister, rescuer, and transfer ownership
    • Can upgrade with no delay
      • GatewayWallet
    • Can interact with GatewayWallet
      • configure supported tokens, withdrawal delay, burn signers, batch signers, fee recipient, pauser, denylister, contract signer allowlister, and transfer ownership
    • Can interact with USD Coin Token
      • mint the token in the bounds of a preset minting allowance
    • Can interact with MessageTransmitter
      • enable or disable attesters and set the attestation signature threshold
    • Can interact with MessageTransmitterV2
      • pause and unpause message transmission and receiving
    • Can upgrade with no delay
      • GatewayMinter
    • Can interact with GatewayMinter
      • configure supported tokens, mint authorities, attestation signers, pauser, denylister, and transfer ownership
    • Can interact with USD Coin Token
      • pause the USDC token (no transfers, mints, burns)
    • Can interact with MessageTransmitter
      • set the attester manager, pauser, rescuer, maximum message body size, and transfer ownership
    • Can interact with TokenMinterV2
      • pause and unpause minting and burning through this TokenMinter
    • Can interact with USD Coin Token
      • mint the token in the bounds of a preset minting allowance
    • Can interact with MessageTransmitterV2
      • transfer any ERC-20 tokens out of the contract
    • Can interact with TokenMessenger
      • transfer any ERC-20 tokens out of the contract
    • Can interact with TokenMessenger
      • configure remote TokenMessengers, the local minter, V2 fee recipient and denylister, rescuer, and transfer ownership
    • Can interact with GatewayMinter
      • pause and unpause Gateway minting
    • Can interact with MessageTransmitter
      • transfer any ERC-20 tokens out of the contract
    • Can interact with GatewayWallet
      • denylist addresses, preventing them from interacting with the GatewayWallet
    • Can interact with TokenMinterV2
      • link or unlink remote tokens and configure per-message burn limits
    • Can interact with TokenMinterV2
      • set the local TokenMessenger, token controller, pauser, rescuer, and transfer ownership
    • Can interact with GatewayMinter
      • denylist addresses, preventing them from interacting with the GatewayMinter
    • Can upgrade with no delay
      • USD Coin Token
    • Can interact with TokenMinter
      • pause and unpause minting and burning through this TokenMinter
    • Can interact with TokenMinter
      • link or unlink remote tokens and configure per-message burn limits
    • Can interact with TokenMinter
      • transfer any ERC-20 tokens out of the contract
    • Can interact with GatewayWallet
      • pause and unpause deposits, burns, and withdrawals
    • Can upgrade with no delay
      • TokenMessengerV2
    • Can interact with USD Coin Token
      • mint the token in the bounds of a preset minting allowance
    • Can interact with MessageTransmitterV2
      • set the attester manager, pauser, rescuer, maximum message body size, and transfer ownership
    • Can interact with USD Coin Token
      • mint the token in the bounds of a preset minting allowance
    • Can upgrade with no delay
      • MessageTransmitterV2
    • Can interact with TokenMessengerV2
      • denylist addresses, preventing them from interacting with this TokenMessenger
    • Can interact with MessageTransmitterV2
      • enable or disable attesters and set the attestation signature threshold
    • Can interact with MessageTransmitter
      • pause and unpause message transmission and receiving
    • Can interact with TokenMinterV2
      • transfer any ERC-20 tokens out of the contract
    • Can interact with USD Coin Token
      • manage all critical roles like pausers, blacklisters, minters, rescuer
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    Ethereum

    MessageTransmitter0x0a99…8F81

    Part of CCTP

    • Roles:
      • attesterManager: EOA 23
      • getEnabledAttester: EOA 73, EOA 88
      • owner: EOA 33
      • pauser: EOA 81
      • rescuer: EOA 43

    Entrypoint or minter of USDC on this chain for the Gateway protocol.

    • Roles:
      • admin: EOA 27
      • attestationSigners: EOA 21
      • denylister: EOA 53
      • owner: EOA 27
      • pauser: EOA 42
    Can be upgraded by:

    Part of CCTP

    • Roles:
      • admin: EOA 70
      • denylister: EOA 77
      • localMessageTransmitter: MessageTransmitterV2
      • owner: EOA 16
      • rescuer: EOA 3
    Can be upgraded by:

    Exit point or burner of USDC on this chain for the Gateway protocol.

    • Roles:
      • admin: EOA 18
      • attestationSigners: EOA 75
      • contractSignersAllowlister: EOA 9
      • denylister: EOA 45
      • owner: EOA 18
      • pauser: EOA 66
    Can be upgraded by:

    Part of CCTP

    • Roles:
      • admin: EOA 76
      • attesterManager: EOA 78
      • getEnabledAttester: EOA 35, EOA 44
      • owner: EOA 74
      • pauser: EOA 24
      • rescuer: EOA 36
    Can be upgraded by:
    • Roles:
      • admin: EOA 55
      • blacklister: EOA 6
      • masterMinter: MasterMinter; ultimately EOA 10, EOA 12, EOA 22, EOA 25, EOA 26, EOA 28, EOA 30, EOA 39, EOA 47, EOA 48, EOA 5, EOA 50, EOA 51, EOA 54, EOA 60, EOA 62, EOA 63, EOA 64, EOA 67, EOA 7, EOA 71, EOA 72, EOA 79, EOA 80, EOA 82, EOA 83, EOA 84, EOA 85, EOA 86, EOA 89, EOA 91, EOA 92, EOA 94, EOA 97
      • minters: EOA 1, EOA 11, EOA 13, EOA 14, EOA 15, EOA 17, EOA 19, EOA 20, EOA 29, EOA 31, EOA 37, EOA 38, EOA 4, EOA 49, EOA 57, EOA 58, EOA 61, EOA 68, EOA 69, EOA 8, EOA 90, EOA 93, EOA 95, GatewayMinter, GatewayWallet, TokenMinter, TokenMinterV2; ultimately EOA 21, EOA 35, EOA 44, EOA 73, EOA 75, EOA 88
      • owner: EOA 96
      • pauser: EOA 32
    Can be upgraded by:
    TokenMessenger0xBd3f…3155

    Part of CCTP

    • Roles:
      • localMessageTransmitter: MessageTransmitter
      • owner: EOA 41
      • rescuer: EOA 40
    TokenMinter0xc492…e907

    Part of CCTP: Used for automated access control for minting.

    • Roles:
      • localTokenMessenger: TokenMessenger
      • owner: EOA 2
      • pauser: EOA 56
      • rescuer: EOA 65
      • tokenController: EOA 59
    MasterMinter0xE982…de17
    • Roles:
      • controllers: EOA 10, EOA 12, EOA 22, EOA 25, EOA 26, EOA 28, EOA 30, EOA 39, EOA 47, EOA 48, EOA 5, EOA 50, EOA 51, EOA 54, EOA 60, EOA 62, EOA 63, EOA 64, EOA 67, EOA 7, EOA 71, EOA 72, EOA 80, EOA 82, EOA 83, EOA 84, EOA 85, EOA 86, EOA 89, EOA 91, EOA 92, EOA 94, EOA 97
      • owner: EOA 79
    TokenMinterV20xfd78…D002

    Part of CCTP: Used for automated access control for minting.

    • Roles:
      • localTokenMessenger: TokenMessengerV2
      • owner: EOA 52
      • pauser: EOA 34
      • rescuer: EOA 87
      • tokenController: EOA 46

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).