GX CoreBridge

GXVault Bridge

The GXVault bridge connects GX Chain to external networks, enabling USDC and USDT deposits and withdrawals. The bridge is secured by a multi-validator quorum with a time-locked withdrawal process.


Overview

GXVault is a Solidity smart contract deployed on Arbitrum One that serves as the primary deposit and withdrawal gateway for GX Exchange. Users deposit collateral into GXVault, and GX Chain validators credit the corresponding balance on the L1 chain.

ParameterValue
Contract Address0x55edC6b11c35b5F12358Aa3Fa140B185390Acc71
ChainArbitrum One (Chain ID: 42161)
Accepted TokensUSDC, USDT
Security ModelMulti-validator quorum (2/3 signatures required)
Withdrawal Timelock24 hours
Contract TypeNon-upgradeable, pausable, reentrancy-guarded

Deposit Flow

1. User connects wallet to GX Exchange (MetaMask on Arbitrum One)
2. User approves USDC/USDT spending for the GXVault contract
3. User calls GXVault.deposit(token, amount)
4. GXVault emits a Deposited event on Arbitrum
5. GX Chain validators watch for Deposited events
6. Validators credit the user's GX Chain balance
7. Funds are available for trading on GX Core

Deposit Details

  • Confirmation time: Deposits are credited within seconds of the Arbitrum block confirmation
  • Minimum deposit: No protocol-enforced minimum (subject to gas costs)
  • Fee: No bridge fee; users pay only Arbitrum gas for the deposit transaction
  • Key compatibility: The same Ethereum address is used on both Arbitrum and GX Chain

Withdrawal Flow

1. User submits a withdrawal request via POST /v1/withdraw (EIP-712 signed)
2. A 24-hour timelock begins
3. GX Chain validators review and co-sign the withdrawal
4. 2/3 of validator signatures are required (guardian quorum)
5. GXVault.executeWithdrawal() is called on Arbitrum
6. USDC/USDT is returned to the user's wallet on Arbitrum One

Withdrawal Details

  • Timelock: 24 hours from request to execution
  • Quorum: Two-thirds of active validators must sign the withdrawal
  • Dispute period: During the 24-hour timelock, validators can flag suspicious withdrawals
  • Cancellation: Users can cancel a pending withdrawal during the timelock period
  • Fee: No bridge fee; users pay only Arbitrum gas for the withdrawal execution

Security Model

Multi-Validator Quorum

Withdrawals are not controlled by a single private key. Instead, a quorum of GX Chain validators must co-sign every withdrawal transaction. This prevents any single compromised validator from draining the vault.

Security PropertyImplementation
Quorum threshold2/3 of active validators
Signer rotationValidator set updates propagate to the bridge
Timelock24-hour delay between request and execution
PausabilityContract can be paused by guardian multisig in emergencies
Reentrancy protectionOpenZeppelin ReentrancyGuard on all state-changing functions
Non-upgradeableNo proxy pattern; contract code is immutable after deployment

Dispute Resolution

During the 24-hour timelock window, any validator can flag a withdrawal as suspicious. Flagged withdrawals require additional review before execution. This provides a safety net against:

  • Compromised user keys attempting unauthorized withdrawals
  • Coordinated attacks on the validator quorum
  • Smart contract exploits discovered after the withdrawal request

Contract Architecture

GXVault.sol

The core vault contract handles deposits, withdrawal requests, and withdrawal execution:

FunctionDescription
deposit(token, amount)Accept USDC/USDT deposit, emit Deposited event
requestWithdrawal(token, amount)Initiate withdrawal with 24h timelock
executeWithdrawal(withdrawalId, signatures)Execute withdrawal with validator signatures
cancelWithdrawal(withdrawalId)Cancel pending withdrawal during timelock
pause() / unpause()Emergency pause (guardian-only)

Supported Tokens

TokenAddress (Arbitrum One)
USDC0xaf88d065e77c8cC2239327C5EDb3A432268e5831
USDT0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9

Validator Bridge Watchers

Each GX Chain validator runs an EVM watcher module that:

  1. Monitors the GXVault contract on Arbitrum for Deposited events
  2. Verifies the deposit transaction on Arbitrum (block confirmations)
  3. Proposes a deposit credit transaction on GX Chain
  4. Participates in BFT consensus to finalize the credit
  5. Co-signs withdrawal transactions when quorum is reached

The watcher module is built into the validator binary — no separate service is required.


Bridge Fees

OperationBridge FeeNetwork Gas
DepositNoneArbitrum gas (~$0.01-0.10)
WithdrawalNoneArbitrum gas (~$0.01-0.10)

GX Exchange does not charge any fee for bridging. Users pay only the underlying Arbitrum network gas fees.


Future Expansion

The bridge architecture is designed to support additional networks:

  • Ethereum mainnet — Direct L1 deposits for users who prefer not to use Arbitrum
  • Base — Coinbase L2 integration
  • Other L2s — Optimism, zkSync, and others based on user demand

Additional bridge deployments will follow the same multi-validator quorum security model.