# Across Protocol Contracts ## Docs - [System Architecture](https://mintlify.wiki/across-protocol/contracts/concepts/architecture.md): Overview of Across Protocol's hub-and-spoke architecture and core components - [Hub-and-Spoke Model](https://mintlify.wiki/across-protocol/contracts/concepts/hub-and-spoke.md): Deep dive into Across Protocol's hub-and-spoke architecture with HubPool on L1 and SpokePools on L2s - [Protocol Flow](https://mintlify.wiki/across-protocol/contracts/concepts/protocol-flow.md): Complete step-by-step flow through Across Protocol from deposit to refund - [Protocol Roles](https://mintlify.wiki/across-protocol/contracts/concepts/roles.md): Understanding the different participants in Across Protocol and their responsibilities - [Arbitrum Adapter](https://mintlify.wiki/across-protocol/contracts/contracts/adapters/arbitrum.md): Bridge tokens and messages to Arbitrum using retryable tickets - [Optimism Adapters](https://mintlify.wiki/across-protocol/contracts/contracts/adapters/optimism.md): Bridge tokens and messages to OP Stack chains using CrossDomainMessenger - [Chain Adapters Overview](https://mintlify.wiki/across-protocol/contracts/contracts/adapters/overview.md): Learn how chain adapters enable cross-chain communication in Across Protocol - [Polygon Adapter](https://mintlify.wiki/across-protocol/contracts/contracts/adapters/polygon.md): Bridge tokens and messages to Polygon PoS using FxPortal and RootChainManager - [Solana Adapter](https://mintlify.wiki/across-protocol/contracts/contracts/adapters/solana.md): Bridge USDC to Solana via Circle CCTP - [HubPool](https://mintlify.wiki/across-protocol/contracts/contracts/hubpool.md): Central L1 contract managing liquidity, root bundle validation, and cross-chain coordination - [SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepool.md): Cross-chain bridge contract deployed on each supported chain for deposits, fills, and relayer refunds - [Arbitrum_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/arbitrum.md): Arbitrum-specific SpokePool with L1→L2 address aliasing and custom bridge integration - [Ethereum_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/ethereum.md): L1 SpokePool variant deployed on Ethereum mainnet - [Optimism_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/optimism.md): Optimism-specific SpokePool with custom SNX bridge integration - [Polygon_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/polygon.md): Polygon-specific SpokePool with FxPortal messaging and custom token bridging - [Universal_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/universal.md): Light-client based SpokePool using Helios for cross-chain verification - [ZkSync_SpokePool](https://mintlify.wiki/across-protocol/contracts/contracts/spokepools/zksync.md): ZkSync Era-specific SpokePool with custom bridge integration and asset ID calculations - [BondToken](https://mintlify.wiki/across-protocol/contracts/contracts/supporting/bond-token.md): Permissioned bond token for data worker proposals - [AcrossConfigStore](https://mintlify.wiki/across-protocol/contracts/contracts/supporting/config-store.md): Configuration management for the Across Protocol - [MerkleLib](https://mintlify.wiki/across-protocol/contracts/contracts/supporting/merkle-lib.md): Merkle proof verification and bitmap utilities - [Foundry Tests](https://mintlify.wiki/across-protocol/contracts/development/foundry.md): Guide to writing and running Foundry tests for Across Protocol smart contracts - [Hardhat Tests (Legacy)](https://mintlify.wiki/across-protocol/contracts/development/hardhat.md): Guide to legacy Hardhat tests for Across Protocol smart contracts - [Scripts & Deployment](https://mintlify.wiki/across-protocol/contracts/development/scripts.md): Overview of build scripts, deployment tools, and utility commands - [Slither Static Analysis](https://mintlify.wiki/across-protocol/contracts/development/slither.md): Using Slither to detect vulnerabilities and analyze Solidity smart contracts - [Testing Overview](https://mintlify.wiki/across-protocol/contracts/development/testing.md): Overview of testing strategy and commands for Across Protocol smart contracts - [Deploying Contracts](https://mintlify.wiki/across-protocol/contracts/guides/deployment.md): Deploy Across Protocol contracts on EVM and Solana/SVM chains - [Upgrading Contracts](https://mintlify.wiki/across-protocol/contracts/guides/upgrades.md): Upgrade SpokePool contracts using UUPS proxy pattern and cross-chain governance - [Contract Verification](https://mintlify.wiki/across-protocol/contracts/guides/verification.md): Verify Across Protocol contracts on Etherscan, Sourcify, and Solana explorers - [Introduction](https://mintlify.wiki/across-protocol/contracts/introduction.md): Welcome to Across Protocol - the fastest and most capital-efficient cross-chain bridge - [Quickstart](https://mintlify.wiki/across-protocol/contracts/quickstart.md): Get up and running with Across Protocol smart contracts - [Multicall Handler](https://mintlify.wiki/across-protocol/contracts/solana/multicall-handler.md): Program for executing batched cross-chain instructions on Solana - [Across on Solana](https://mintlify.wiki/across-protocol/contracts/solana/overview.md): SVM integration for cross-chain token transfers using Anchor framework and CCTP - [Sponsored CCTP Source Periphery](https://mintlify.wiki/across-protocol/contracts/solana/sponsored-cctp.md): Source chain periphery for sponsored and non-sponsored deposits using CCTPv2 - [SVM Spoke Program](https://mintlify.wiki/across-protocol/contracts/solana/svm-spoke.md): Core Solana spoke pool program for cross-chain token deposits, fills, and relayer refunds