Search for projects by name or address
Intent framework specialised on popular chains and assets, speed and security.
Intent framework specialised on popular chains and assets, speed and security.
Intent framework specialised on popular chains and assets, speed and security.
The user initiates a transfer (sometimes called an intent) by depositing into the local chain “SpokePool” contract. The deposit specifies the recipient, the destination chain, the amount, the input token, the output token, a fill deadline by which the destination chain transfer must complete, and an optional exclusivity window during which only a chosen relayer can fill. User funds remain in the SpokePool; the deposit’s parameters are not persisted in contract storage but only captured in a FundsDeposited event log, which relayers index offchain to learn about deposits.
Relayers fill a crosschain request by calling the destination chain’s SpokePool. During the exclusivity window only the chosen relayer can fill; after it expires anyone can. No fill is accepted past the fill deadline. Funds go to the user and the relay hash is marked Filled in the SpokePool’s fillStatuses mapping to prevent double-fills.
Deposits tagged with a special message prefix commit to an execution in the new Gateway contract and can only be filled through it: regular fills and the slow-fill path are blocked for them, and unfilled V5 deposits are refunded on the origin chain after the fill deadline like any other deposit. A V5 user signs a Merkle tree of alternative execution paths (e.g. different destination chains or routes) instead of one fixed order. Any solver can then execute one of the committed paths through the Gateway, which pulls the user’s funds via standing token approvals or signed permits (Permit2, EIP-3009, ERC-2612) and runs the committed steps, of which the bridge fill can be one among several (e.g. swaps). The destination SpokePool validates the fill against the user’s committed bounds (recipient, output token, minimum output amount) and pulls the output tokens from the standing approvals of the solver, who is then repaid through the unchanged root bundle settlement. The Gateway can be upgraded without delay by a multisig, which puts standing token approvals to the Gateway (and, transitively, relayers’ standing approvals to the SpokePools) at risk if it is compromised.
When a crosschain transfer is fulfilled, the relayer specifies on which chain and to which address they want to be repaid. A whitelisted proposer periodically posts a “root bundle” to the HubPool containing how much the protocol owes to each relayer (relayer refunds) and the pool rebalances needed so that there is enough liquidity on each chain for the refunds to be paid. The correctness of these roots is crucial; otherwise relayers could lie about filling a transfer and capture user funds.
Root bundles settle in two levels:
For chains with a canonical L1 to L2 messenger, tokens and admin / refund messages move from the HubPool to each SpokePool through that chain’s canonical bridge via a per-chain adapter. For chains without one (BNB Smart Chain, HyperEVM, Plasma, Tempo, Tron, …), Across uses universal adapters: the HubPool writes the message calldata into the HubPoolStore on Ethereum, and the destination chain reads it by verifying a storage proof against Ethereum’s state through a light client contract on the destination. Tokens travel via LayerZero OFT, or via Circle CCTP for USDC.
LPs can provide single-token liquidity to the HubPool to front relayer refunds across chains, earning yield from an LP fee captured on every transfer.
Symbol | Last 24h
Volume | Last 24h
transfer count | Last 24h avg.
transfer time | Last 24h avg.
transfer value | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Timestamp | Tokens | Value | Bridge | Transfer time | Chains | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7702 auth removed.
7702 auth removed.
| EOA (eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D) { | |
| +++ description: None | |
| sourceHashes: | |
| - | ["0x3e6b48b0583e724b7006fcec0d9a021abd698deb8f7699582cdfee96bd65db4f"] |
| proxyType: | |
| - | "EIP7702 EOA" |
| + | "EOA" |
| values: | |
| - | {"$implementation":"eth:0x69007702764179f14F51cdce752f4f775d74E139","accountId":"alchemy.sma-7702.1.0.0","entryPoint":"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032","getFallbackSignerData":["eth:0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D",false]} |
| } |
Across V5 upgrade: new Gateway contract and two new fill entrypoints for v5 deposits. In executor mode, the SpokePool pulls the output tokens from the Gateway's current solver using the relayer's standing approvals to the SpokePool. The Gateway executes user-signed intent 'paths': anyone can submit one, and the Gateway pulls the depositor's funds via standing allowances or signed permits (Permit2 witness, EIP-3009, ERC-2612, EIP-712 transferFrom auths). It is owned and upgradable (no delay) by a new 3/5 'Across Gateway Multisig'.
Across V5 upgrade: new Gateway contract and two new fill entrypoints for v5 deposits. In executor mode, the SpokePool pulls the output tokens from the Gateway’s current solver using the relayer’s standing approvals to the SpokePool.
The Gateway executes user-signed intent ‘paths’: anyone can submit one, and the Gateway pulls the depositor’s funds via standing allowances or signed permits (Permit2 witness, EIP-3009, ERC-2612, EIP-712 transferFrom auths). It is owned and upgradable (no delay) by a new 3/5 ‘Across Gateway Multisig’.
| contract Ethereum_SpokePool (eth:0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5) [acrossv3/SpokePool] { | |
| +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it. | |
| sourceHashes.1: | |
| - | "0x7c82111265c69f8a894d8029e30766541164d55fb1e814bf29ddacecaeee12c1" |
| + | "0x667fb3db67749e9488a6511b73f11c5acfa08bd66fa64944fe1d3064fa551c6e" |
| values.$implementation: | |
| - | "eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B" |
| + | "eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84" |
| values.$pastUpgrades.11: | |
| + | ["2026-08-14T18:02:35.000Z","0x8149765132e15fb4f1dce1cab83f087ca099d778fee49191dff408069b734ad3",["eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84"]] |
| values.$upgradeCount: | |
| - | 11 |
| + | 12 |
| values.gateway: | |
| + | "eth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707" |
| values.V5_MAGIC_PREFIX: | |
| + | "0x89ae4bc75915265a3f10e926c3894a29534f1d6362ee8959cb0e5be00f3527fd" |
| implementationNames.eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B: | |
| - | "Ethereum_SpokePool" |
| implementationNames.eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84: | |
| + | "Ethereum_SpokePool" |
| } |
| contract OP_SpokePool (oeth:0x6f26Bf09B1C792e3228e5467807a900A503c0281) [acrossv3/SpokePool] { | |
| +++ description: The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it. | |
| name: | |
| - | "Optimism_SpokePool" |
| + | "OP_SpokePool" |
| sourceHashes.1: | |
| - | "0xa7af88e42066dce1580a5c39e3bd045de8511f8a453056cd46140e3df8b96f19" |
| + | "0x63512362033eb12727887f57a9397e800b1fa1b98ff0fe2742abe67f53d493f1" |
| values.$implementation: | |
| - | "oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c" |
| + | "oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D" |
| values.$pastUpgrades.15: | |
| + | ["2026-08-14T17:51:57.000Z","0x5ef940d028891d65c1ab1383d1cf63e514e1906c1a4f7483c1bdb6e2b9ca39bd",["oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D"]] |
| values.$upgradeCount: | |
| - | 15 |
| + | 16 |
| values.gateway: | |
| + | "oeth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707" |
| values.V5_MAGIC_PREFIX: | |
| + | "0x89ae4bc75915265a3f10e926c3894a29534f1d6362ee8959cb0e5be00f3527fd" |
| implementationNames.oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c: | |
| - | "Optimism_SpokePool" |
| implementationNames.oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D: | |
| + | "OP_SpokePool" |
| } |
| + | Status: CREATED |
| contract Across Gateway Multisig (eth:0x4c45F70B1d9a7A6D1984daccAd74D0E973B73F01) [GnosisSafe] | |
| +++ description: None |
| + | Status: CREATED |
| contract Gateway (eth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707) [acrossv3/Gateway] | |
| +++ description: Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills. |
| + | Status: CREATED |
| contract Gateway (oeth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707) [acrossv3/Gateway] | |
| +++ description: Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills. |
| + | Status: CREATED |
| contract Across Gateway Multisig (oeth:0xd396CcB6770EAB84045c9Bce2939c478639E2A7F) [GnosisSafe] | |
| +++ description: None |
More pool rebalance routes were disabled (see below for explanation).
More pool rebalance routes were disabled (see below for explanation).
| contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] { | |
| +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT. | |
| values.poolRebalanceRoutes.Ethereum.4.destinationToken: | |
| - | "eth:0x6B175474E89094C44Da98b954EedeAC495271d0F" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Lens.0.destinationToken: | |
| - | "eth:0xE5ecd226b3032910CEaa43ba92EE8232f8237553" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Lens.2.destinationToken: | |
| - | "eth:0x88F08E304EC4f90D644Cec3Fb69b8aD414acf884" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.ZKsync Era.0.destinationToken: | |
| - | "eth:0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.ZKsync Era.1.destinationToken: | |
| - | "eth:0x493257fD37EDB34451f62EDf8D2a0C418852bA4C" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.ZKsync Era.2.destinationToken: | |
| - | "eth:0xBBeB516fb02a01611cBBE0453Fe3c580D7281011" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.ZKsync Era.3.destinationToken: | |
| - | "eth:0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| } |
More pool rebalance routes across ten destination chains were disabled (see below for explanation).
More pool rebalance routes across ten destination chains were disabled (see below for explanation).
| contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] { | |
| +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT. | |
| values.poolRebalanceRoutes.Ink.1.destinationToken: | |
| - | "eth:0x2D270e6886d130D724215A266106e6832161EAEd" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Blast.0.destinationToken: | |
| - | "eth:0x4300000000000000000000000000000000000004" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Blast.1.destinationToken: | |
| - | "eth:0xF7bc58b8D8f97ADC129cfC4c9f45Ce3C0E1D2692" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Blast.2.destinationToken: | |
| - | "eth:0x4300000000000000000000000000000000000003" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| } |
13 pool rebalance routes across ten destination chains were disabled by setting their destination token to the zero address. HubPool rejects root-bundle execution for disabled routes, so these token/chain pairs can no longer be used for pool rebalances and relayer refunds.
13 pool rebalance routes across ten destination chains were disabled by setting their destination token to the zero address. HubPool rejects root-bundle execution for disabled routes, so these token/chain pairs can no longer be used for pool rebalances and relayer refunds.
| contract HubPool (eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda) [acrossv3/HubPool] { | |
| +++ description: The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT. | |
| values.poolRebalanceRoutes.OP Mainnet.1.destinationToken: | |
| - | "eth:0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Unichain.1.destinationToken: | |
| - | "eth:0x078D782b760474a361dDA0AF3839290b0EF57AD6" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Polygon PoS.1.destinationToken: | |
| - | "eth:0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Polygon PoS.7.destinationToken: | |
| - | "eth:0xc2132D05D31c914a87C6611C10748AEb04B58e8F" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Monad.0.destinationToken: | |
| - | "eth:0x754704Bc059F8C67012fEd69BC8A327a5aafb603" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Monad.1.destinationToken: | |
| - | "eth:0xe7cd86e13AC4309349F30B3435a9d337750fC82D" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.World Chain.2.destinationToken: | |
| - | "eth:0x79A02482A880bCE3F13e09Da970dC34db4CD24d1" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.HyperEVM.0.destinationToken: | |
| - | "eth:0xb88339CB7199b77E23DB6E890353E22632Ba630f" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Base.1.destinationToken: | |
| - | "eth:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Plasma.0.destinationToken: | |
| - | "eth:0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Arbitrum One.1.destinationToken: | |
| - | "eth:0xaf88d065e77c8cC2239327C5EDb3A432268e5831" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Arbitrum One.7.destinationToken: | |
| - | "eth:0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.poolRebalanceRoutes.Solana.0.destinationToken: | |
| - | "eth:0xaBc97431B1Bbe4C2D2f6E0E47ca60203452f5d61" |
| + | "eth:0x0000000000000000000000000000000000000000" |
| } |
Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values.
A Multisig with 3/5 threshold. It uses the following modules: OptimisticGovernor (Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values).
Central UMA governance contract. It executes administrative proposals that have been passed by UMA token holder votes.
requestPrice()) directlyA Multisig with 3/5 threshold.
Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor’s funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.
Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000 UMA tokens.
A Multisig with 2/4 threshold.
Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000,000 UMA tokens. This circumvents the UMA optimistic oracle but can only be executed or removed after 10d, and only by UMA Multisig.
disputeRootBundle()) escalate to UMA token votingEntry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor’s funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.
A Multisig with 3/5 threshold.

Simple data store used by the Universal_Adapter to store message calldata hashes. The content of this calldata can be proven by Ethereum zk light clients on remote chains and then executed to relay root bundles or arbitrary messages.
Simple, owner-controlled contract for storing protocol-wide, token-specific configuration data.
A helper contract for chain adapters on the hub chain that support OFT messaging. Handles token -> messenger mapping.
The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.
The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.
A bond token wrapping ETH for usage in the Across protocol. Implements modified ERC20 logic to only allow permissioned proposers to use it as a bond for root bundle proposals.
Core smart contract for UMA’s Data Verification Mechanism (DVM), serving as source of truth for disputed claims. UMA token holders collectively resolve price requests and earn rewards for correct participation. Commit- and reveal phases for the voting take 1d each.
Registry for contracts that are allowed to call requestPrice() in the UMA voting contracts (ie. request dispute resolution by the UMA DVM).
Maps interface names to contract addresses (UMA protocol contracts).
UMA protocol contract responsible for calculating and collecting regular and final fees for using the DVM.
Stores slashing parameters and calculates slashing amounts based on that (UMA protocol).
Keeps a list of whitelisted identifiers that are accepted by the UMA v3 protocol. Across uses the identifier ACROSS-V2 for its disputes.
A simple address whitelist for tokens that can be used as bonds and/or fees. This whitelist is checked and enforced by various smart contracts in the UMA ecosystem.
Validates bridge messages by allowing proposers to make bonded assertions about crosschain events. It enforces a challenge period during which any invalid claims can be disputed and escalated to UMA’s Data Verification Mechanism (DVM) for resolution.
Standard UMA optimistic oracle contract that allows anyone to make an arbitrary claim by posting a bond. The claim is considered true unless it is successfully disputed within a challenge window, with UMA’s DVM acting as the final arbiter for disputes.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to HyperEVM. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to Tempo. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to Binance Smart Chain. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Adapter for Solana. Uses CCTP v1 AMB to relay root bundles to the Solana spokepool.
This adapter can be used to send messages / root bundles to Tron. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to Plasma Mainnet. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.
This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.
The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.