# Across Protocol Documentation > Across Protocol is a crosschain interoperability protocol powering fast, low-cost token transfers across 23+ chains. > Three settlement mechanisms: Intents (relayer network), CCTP (USDC), and OFT (USDT). > API base URL: https://app.across.to/api ## Introduction - [Actors in the System](https://docs.across.to/introduction/actors): The key participants that make crosschain transfers work — users, relayers, LPs, dataworkers, and the UMA oracle. - [API Keys & Integrator ID](https://docs.across.to/introduction/api-keys): How to get an API key and integrator ID for production use of the Across APIs. - [Audits](https://docs.across.to/introduction/audits): Security audits of the Across Protocol and UMA smart contracts. - [The Bridge Across](https://docs.across.to/introduction/bridge-across): A quick overview of what is happening with $ACX, and where to follow updates. - [Bug Bounty](https://docs.across.to/introduction/bug-bounty): Report vulnerabilities and earn rewards through the Across Protocol bug bounty program. - [Direct Route Linking](https://docs.across.to/introduction/direct-route-linking): Link users directly to a pre-filled bridge route on the Across UI. - [Technical FAQ](https://docs.across.to/introduction/faq): Frequently asked questions about integrating Across Protocol. - [Key Features](https://docs.across.to/introduction/features): What makes Across the fastest, cheapest, and most secure crosschain interoperability protocol. - [Fees in the System](https://docs.across.to/introduction/fees): How LP fees, relayer fees, gas fees, and capital fees are calculated in Across. - [Hyperliquid Withdrawals](https://docs.across.to/introduction/hypercore-withdrawals): Withdraw from Hyperliquid (HyperCore) to any Across-supported chain via a gasless multi-signature flow. - [Working with Hypercore](https://docs.across.to/introduction/hypercore): Bridge assets to Hyperliquid's sub-second settlement layer via Across. - [Welcome to Across](https://docs.across.to/introduction): Crosschain interoperability with ~2 second fills across all major chains. - [Persistent Deposit Addresses](https://docs.across.to/introduction/persistent-deposit-addresses): One POST returns a permanent deposit address — send funds from any supported origin chain and they are swept to your recipient on the destination. - [Refunds](https://docs.across.to/introduction/refunds): How refunds work when a crosschain transfer expires without being filled. - [Across for Stablecoins](https://docs.across.to/introduction/stablecoins): Move native USDC, USDT0, and USDH across chains with a single Swap API call. - [Introduction to Swap API](https://docs.across.to/introduction/swap-api): The unified entry point for all crosschain operations on Across. - [Tracking Deposits](https://docs.across.to/introduction/tracking-deposits): Monitor crosschain transfer status using the deposit tracking API. - [Why Across](https://docs.across.to/introduction/why-across): The fastest, cheapest, and most secure way to move assets across chains. - [Deposit ETH into Aave](https://docs.across.to/introduction/embedded-actions/deposit-eth-aave): Swap to ETH crosschain and deposit directly into Aave's lending pool. - [Add Liquidity to Across HubPool](https://docs.across.to/introduction/embedded-actions/hubpool-liquidity): Swap to ETH and add liquidity to the Across HubPool in one crosschain transaction. - [Embedded Crosschain Actions](https://docs.across.to/introduction/embedded-actions): Execute custom on-chain operations on the destination chain immediately after a crosschain swap. - [Simple Native ETH Transfer](https://docs.across.to/introduction/embedded-actions/native-eth-transfer): Send native ETH to an address after a crosschain swap. - [Handling Nested Parameters](https://docs.across.to/introduction/embedded-actions/nested-parameters): How to encode tuples and struct parameters in embedded action function signatures. - [Transfer ERC-20 Tokens After Swap](https://docs.across.to/introduction/embedded-actions/transfer-erc20): Transfer swapped ERC-20 tokens to a different address on the destination chain. - [Relayer Nomination](https://docs.across.to/introduction/relayers/relayer-nomination): How exclusive relayer nomination works and how to participate. - [Running a Relayer](https://docs.across.to/introduction/relayers/running-relayer): Set up and operate your own Across V3 relay infrastructure. - [Disputing Root Bundles](https://docs.across.to/introduction/security/disputing-root-bundles): How to challenge invalid bundle proposals — manually or with automated tooling. - [Security Model and Verification](https://docs.across.to/introduction/security): How Across secures crosschain transfers through optimistic verification, bonds, and UMA's oracle. - [Validating Root Bundles](https://docs.across.to/introduction/security/validating-root-bundles): How root bundles are validated and what the verification process checks. ## Guides - [Guides](https://docs.across.to/guides): Concepts, developer guides, and migration references for Across Protocol. - [What is Across V4?](https://docs.across.to/guides/concepts/across-v4): ZK-powered settlement using Succinct SP1 for permissionless chain expansion. - [What are Crosschain Intents?](https://docs.across.to/guides/concepts/crosschain-intents): How intent-based bridging differs from traditional bridges and why it matters. - [ERC-7683 in Production](https://docs.across.to/guides/concepts/erc-7683): Submit crosschain intents using the ERC-7683 standard via AcrossOriginSettler. - [Concepts](https://docs.across.to/guides/concepts): Core concepts behind Across Protocol's crosschain architecture. - [Intent Lifecycle in Across](https://docs.across.to/guides/concepts/intent-lifecycle): The three phases every crosschain intent goes through — initiation, fill, and settlement. - [Intent Architecture in Across](https://docs.across.to/guides/concepts/intents-architecture): The three-layer architecture — RFQ, relayer network, and settlement — that powers crosschain intents. - [Crosschain Deposit into Aave](https://docs.across.to/guides/dev-guides/crosschain-aave-deposit): Bridge USDC from Arbitrum, swap to ETH on Ethereum, and deposit into Aave's lending pool — in a single transaction. - [Developer Guides](https://docs.across.to/guides/dev-guides): Hands-on, step-by-step integration guides for building with Across Protocol. - [Integrate Across Swap API](https://docs.across.to/guides/dev-guides/integrate-swap-api): Build a complete crosschain USDC bridge from scratch — discover chains, look up tokens, get a quote, and execute with viem. - [BNB Smart Chain Migration Guide](https://docs.across.to/guides/migration/bnb): Enable BNB Smart Chain (Chain ID 56) bridging for USDC, USDT, and ETH. - [Migration Guides](https://docs.across.to/guides/migration): Step-by-step migration references for upgrading your Across integration. - [Solana Migration Guide](https://docs.across.to/guides/migration/solana): Prepare for USDC bridging on Solana — API changes, deposit flow, and relayer requirements. - [Migrate from /suggested-fees to the Swap API](https://docs.across.to/guides/migration/suggested-fees-to-swap): Move from the legacy /suggested-fees + depositV3 flow to the Swap API, one call that returns executable calldata, approvals, and fees. - [Migration from V2 to V3](https://docs.across.to/guides/migration/v2-to-v3): Upgrade from Across V2 to V3 — new events, functions, fee structure, and contract changes. - [Direct Route Linking](https://docs.across.to/guides/user-guides/direct-route-linking): Link users directly to a pre-filled bridge route on Across using URL query parameters. - [User Guides](https://docs.across.to/guides/user-guides): Guides for using the Across Protocol frontend and tools. - [Breaking Changes for API Users](https://docs.across.to/guides/migration/non-evm/api-users): Required parameter changes for deposit transactions after the non-EVM migration. - [Non-EVM and Prefills Migration](https://docs.across.to/guides/migration/non-evm): Support non-EVM chains and deterministic relay hashes for prefills. - [Breaking Changes for Indexers](https://docs.across.to/guides/migration/non-evm/indexers): Updated SpokePool events for non-EVM address support — indexers must update or face system failures. - [Breaking Changes for Relayers](https://docs.across.to/guides/migration/non-evm/relayers): Updated events and fill functions for relayers supporting non-EVM chains. - [Testnet Environment](https://docs.across.to/guides/migration/non-evm/testnet): Sepolia testnet deployment for testing the non-EVM migration changes. - [CCTP Migration for API Users](https://docs.across.to/guides/migration/cctp/api-users): API endpoint changes, new token addresses, and deprecated parameters for CCTP migration. - [Migration to CCTP](https://docs.across.to/guides/migration/cctp): Transition from Bridged USDC to Native USDC via Circle's Crosschain Transfer Protocol. - [CCTP Migration for Relayers](https://docs.across.to/guides/migration/cctp/relayers): Relayer changes for handling Native USDC routes after CCTP migration. ## AI Agents - [Agent Workflows](https://docs.across.to/ai-agents/agent-examples): End-to-end examples showing real AI agent sessions performing crosschain tasks with the Across Protocol. - [AGENTS.md](https://docs.across.to/ai-agents/agents-md): A ready-to-copy AGENTS.md template that gives coding agents full context on your Across integration. - [AI Agents](https://docs.across.to/ai-agents): Give your AI agent crosschain superpowers with a single command. - [Machine-Readable Docs](https://docs.across.to/ai-agents/llms-txt): Feed Across documentation directly to AI agents and RAG pipelines via llms.txt endpoints. - [MCP Server](https://docs.across.to/ai-agents/mcp-server): Give any MCP-compatible AI client full access to Across Protocol documentation, chain data, and live bridge fees. - [Prompt Library](https://docs.across.to/ai-agents/prompt-library): Curated prompts for AI agents working with the Across Protocol — organized by task category. ## Tools - [AI Transaction Builder](https://docs.across.to/tools/ai-builder): Describe your crosschain transfer in natural language and get a ready-to-use Across API call. - [Chain Checker](https://docs.across.to/tools/chain-checker): Check if Across supports your chain. - [Tools](https://docs.across.to/tools): Tools and utilities for working with Across Protocol. - [Get API Key & Integrator ID](https://docs.across.to/tools/integrator-id): Register your project to get an Across API key and integrator ID — everything you need to start building with the Across API. - [Status Tracker](https://docs.across.to/tools/status-tracker): Track the status of your Across deposit by transaction hash or deposit ID. - [Token Checker](https://docs.across.to/tools/token-checker): Check if Across supports your token across all chains. - [Transaction Builder](https://docs.across.to/tools/transaction-builder): Build crosschain swap + action requests for the Across API. ## API Reference - [API Reference](https://docs.across.to/api-reference): Complete API reference for the Across Protocol. - [Retrieve available routes for transfers](https://docs.across.to/api-reference/available-routes/get): Returns available routes based on specified parameters. - [Get all details for a single deposit](https://docs.across.to/api-reference/deposit/get): Returns a single deposit matching the provided query parameters. Searches across all deposit types: Across intents (V3FundsDeposited), CCTP (DepositForBurn), OFT (OFTSent). At least one of the following parameter combinations is required: 1. `depositTxnRef` 2. `depositId` AND `originChainId` 3. `relayDataHash` 4. `sweepTxnRef` Supply one selector per request (`depositId` + `originChainId` count as one). If a lookup can identify multiple transfers — for example a sweep transaction that executed several deposit-address transfers — use `/deposits` instead. - [Create persistent deposit addresses](https://docs.across.to/api-reference/deposit-addresses/post): Returns a persistent, infinite-TTL deposit address. The same request parameters always resolve to the same address, so you can request it once and reuse it. Requires an API key with the `deposit-address` permission (Bearer auth). You don't need to hardcode which chains you can deposit from (input chains), the API response will include that information in the `supportedInputs` field including the input token to send there, and that route's min/max limits. **Strongly provide `refundAddresses`.** It is optional, but if a deposit can't be completed and no refund address was supplied, funds can only be recovered through a **manual refund process that takes significantly longer** than the automatic refund. You would need to contact Across support to initiate the manual refund. - [Retrieve current transfer limits of the system](https://docs.across.to/api-reference/limits/get): Returns transfer limits for `inputToken`, `outputToken`, `originChainId`, and `destinationChainId`. - [Retrieve suggested fee quote for a deposit.](https://docs.across.to/api-reference/suggested-fees/get): Returns suggested fees based on `inputToken`, `outputToken`, `originChainId`, `destinationChainId`, and `amount`. Also includes transfer limits of the system and data used to compute the fees. - [Get all deposits matching the given filters](https://docs.across.to/api-reference/deposits/get): Returns all deposits matching the given filters, newest first (ordered by `depositBlockTimestamp` descending). Filters combine with `AND`. `/deposits` is the endpoint to use when a transaction might identify multiple transfers. This endpoint loads data queried by an indexing service that polls relevant events on a 10-second cadence. Users should therefore expect an average latency of 1 to 15 seconds after submitting a deposit to see the status changed in this endpoint. This delay comes from the time it takes for the internal indexing to include the deposit transaction. - [Get swap approval data](https://docs.across.to/api-reference/swap/approval/get): Returns data required to execute a crosschain swap. If the input token requires approval, `approvalTxns` will be included in the response. - [Build embedded crosschain swap actions with the Swap API](https://docs.across.to/api-reference/swap/approval/post): Use the /`swap/approval` API to build embedded crosschain actions (e.g., mint, deposit) that execute on the destination chain immediately after a swap. Define an action with its `target`, `functionSignature`, and `value`. For contract calls, provide an `args[]` array where each parameter can be static or dynamically populated with a token balance by setting `populateDynamically: true` and specifying the `balanceSourceToken`. In this example we will transfer the entire balance of a newly swapped token, call the ERC20 transfer function with a static recipient address and a dynamic amount argument flagged for population. - [Get supported chains for swap operations](https://docs.across.to/api-reference/swap/chains/get): Returns a list of all supported blockchains that support crosschain swaps on Across Protocol. - [Get a gasless swap quote](https://docs.across.to/api-reference/swap/gasless/get): Quote a **gasless** swap or transfer: the user authorizes it with a single EIP-712 signature (`swapTx` — an ERC-3009 or Permit2 permit) and a submitter broadcasts it on-chain, so the user pays no gas. - [Get supported sources for swap operations](https://docs.across.to/api-reference/swap/sources/get): Returns a list of all supported sources that support crosschain swaps on Across Protocol. - [Get supported tokens for swap operations](https://docs.across.to/api-reference/swap/tokens/get): Returns a list of all supported tokens that support crosschain swaps on Across Protocol. - [Track the lifecycle of a deposit](https://docs.across.to/api-reference/deposit/status/get): Returns the fill status of a deposit along with a corresponding fill transaction hash if filled. This endpoint loads data queried by an indexing service that polls relevant events on a 10-second cadence. Users should therefore expect an average latency of 1 to 15 seconds after submitting a deposit to see the status changed in this endpoint. This delay comes from the time it takes for the internal indexing to include the deposit transaction. - [Submit a signed gasless swap](https://docs.across.to/api-reference/gasless/submit/post): Submits the signatures for a gasless swap quote from `GET /swap/gasless`. For HyperCore origin routes (e.g. Hyperliquid withdrawals), the quote returns the steps to sign in `swapTxns[]`. Have the user sign each step, then submit `{ swapTx, swapTxns, signaturesByStepId }`. One signature per step, keyed by the step's stepId. Pass `swapTx` and `swapTxns` through from the quote unchanged. Across submits the transactions and covers the gas. Returns a depositId for tracking the deposit. ## Optional - [Chains & Contracts](https://docs.across.to/chains-and-contracts): Deployed contract addresses for all supported Across chains.