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
$8.65 M
Last 24h transfer count
481
Last 24h top path
polygonposarbitrum$6.16 M

Last 24h avg. transfer time
Last 24h avg. transfer value
$17.99 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
$8.65 M
Transaction count
481

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 blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. 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.

UpgradeabilityThe ability for rollup smart contracts and parameters used in a rollup to be updated by holders of an admin key. Upgradeability represents a vector of risk for users, and should be decentralized and combined with time delays for greater security guarantees.

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
Bridge
Transfer time
Chains

Ethereum

Actors:

UnverifiedUSDCMinter0xA669…48Bd

Upgradeable contract with an unverified implementation that is registered as a USDC minter in the USDC token contract. Its minting allowance is set by its MasterMinter controllers.

  • 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 upgrade with no delay
    • UnverifiedUSDCMinter
  • 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 26
    • getEnabledAttester: EOA 83, EOA 99
    • owner: EOA 37
    • pauser: EOA 91
    • rescuer: EOA 48

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

  • Roles:
    • admin: EOA 30
    • attestationSigners: EOA 24
    • denylister: EOA 59
    • owner: EOA 30
    • pauser: EOA 47
Can be upgraded by:

Part of CCTP

  • Roles:
    • admin: EOA 80
    • denylister: EOA 87
    • localMessageTransmitter: MessageTransmitterV2
    • owner: EOA 19
    • rescuer: EOA 3
Can be upgraded by:

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

  • Roles:
    • admin: EOA 21
    • attestationSigners: EOA 85
    • contractSignersAllowlister: EOA 10
    • denylister: EOA 50
    • owner: EOA 21
    • pauser: EOA 76
Can be upgraded by:

Part of CCTP

  • Roles:
    • admin: EOA 86
    • attesterManager: EOA 88
    • getEnabledAttester: EOA 39, EOA 49
    • owner: EOA 84
    • pauser: EOA 27
    • rescuer: EOA 40
Can be upgraded by:
  • Roles:
    • admin: EOA 61
    • blacklister: EOA 6
    • masterMinter: MasterMinter; ultimately EOA 100, EOA 103, EOA 104, EOA 106, EOA 108, EOA 11, EOA 110, EOA 111, EOA 112, EOA 13, EOA 15, EOA 25, EOA 28, EOA 29, EOA 31, EOA 32, EOA 34, EOA 43, EOA 46, EOA 5, EOA 52, EOA 53, EOA 55, EOA 56, EOA 60, EOA 63, EOA 68, EOA 7, EOA 70, EOA 71, EOA 72, EOA 73, EOA 77, EOA 81, EOA 82, EOA 89, EOA 9, EOA 90, EOA 92, EOA 93, EOA 94, EOA 95, EOA 96, EOA 97
    • minters: EOA 1, EOA 101, EOA 102, EOA 105, EOA 107, EOA 12, EOA 16, EOA 17, EOA 18, EOA 20, EOA 22, EOA 23, EOA 33, EOA 35, EOA 4, EOA 41, EOA 42, EOA 54, EOA 57, EOA 64, EOA 65, EOA 66, EOA 69, EOA 74, EOA 78, EOA 79, EOA 8, GatewayMinter, GatewayWallet, TokenMinter, TokenMinterV2, UnverifiedUSDCMinter; ultimately EOA 24, EOA 39, EOA 49, EOA 83, EOA 85, EOA 99
    • owner: EOA 109
    • pauser: EOA 36
Can be upgraded by:
TokenMessenger0xBd3f…3155

Part of CCTP

  • Roles:
    • localMessageTransmitter: MessageTransmitter
    • owner: EOA 45
    • rescuer: EOA 44
TokenMinter0xc492…e907

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

  • Roles:
    • localTokenMessenger: TokenMessenger
    • owner: EOA 2
    • pauser: EOA 62
    • rescuer: EOA 75
    • tokenController: EOA 67
MasterMinter0xE982…de17
  • Roles:
    • controllers: EOA 100, EOA 103, EOA 104, EOA 106, EOA 108, EOA 11, EOA 110, EOA 111, EOA 112, EOA 13, EOA 15, EOA 25, EOA 28, EOA 29, EOA 31, EOA 32, EOA 34, EOA 43, EOA 46, EOA 5, EOA 52, EOA 53, EOA 55, EOA 56, EOA 60, EOA 63, EOA 68, EOA 7, EOA 70, EOA 71, EOA 72, EOA 73, EOA 77, EOA 81, EOA 82, EOA 9, EOA 90, EOA 92, EOA 93, EOA 94, EOA 95, EOA 96, EOA 97
    • owner: EOA 89
TokenMinterV20xfd78…D002

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

  • Roles:
    • localTokenMessenger: TokenMessengerV2
    • owner: EOA 58
    • pauser: EOA 38
    • rescuer: EOA 98
    • tokenController: EOA 51

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).