7Block Labs
Blockchain Technology

ByAUJay

Latency Requirements for Cross-Chain Bridge Security and User Experience

The right latency targets can really enhance the safety of bridges and make products feel lightning-fast. In this guide, we break down the finality and bridging times for all the major chains and protocols as we head into 2025. We’ll turn that info into clear SLOs, design patterns, and incident playbooks to help decision-makers steer the ship.


Executive brief

  • Finality is what we mean when we say a transaction is pretty much irreversible, and it’s a key part of the security framework that shapes bridge design and user experience. These days, that “instant” user experience often just means passing the finality risk onto a service instead of actually eliminating it. (docs.chain.link)
  • To figure out your latency and service level objectives (SLOs), you’ll want to consider: (a) how finality works on the source chain, (b) the bridge verification model in use, (c) the cadence of batching and relayers, and (d) any optimistic windows or ZK proof times. We break all this down below using data from 2025, plus we’ll suggest some SLOs based on different use cases. (docs.optimism.io)

1) Finality is your security clock (not a UX afterthought)

  • Ethereum: Usually, it takes about 12.8-15 minutes to finalize after two epochs under normal conditions. The SSF research team's goal is to streamline this process down to just one slot in the future. (ethereum.org)
  • “Safe” vs “finalized” RPC tags: A lot of APIs allow you to access a “safe” head before it’s really “finalized.” If you're dealing with something where you really can't handle any reorg risk, stick to using “finalized.” (ethereum.org)
  • Bitcoin: The traditional benchmark for high-value transactions is about 6 confirmations, which takes roughly 60 minutes. The likelihood of a double-spend situation drops sharply as you get more confirmations. (en.bitcoin.it)
  • Incidents matter: Back in May 2023, Ethereum faced mainnet finality halts that lasted around 25-60 minutes. This highlights the importance of coding for those rare, yet very real, tail events. (cointelegraph.com)

Implication: Latency targets need to match up with the weakest finality in your path, which is usually the source chain.


2) L1 finality realities you’ll bridge to in 2025

  • Ethereum (PoS): Finalization usually takes about 12.8 to 15 minutes. Make sure to keep this in mind when you're planning for conservative settlement or working with oracle/bridge commit policies. You can find more details on ethereum.org.
  • Solana: Users can pick their “commitment” levels, such as processed, confirmed, or finalized. When using finalized, remember that it represents a state you won't roll back. Blockhashes are good for about 151 slots, which is around a minute if you're working with 400 ms slots. So, design your submit/confirm flows accordingly. Check out solana.com for more info.
  • Avalanche: The Snow* protocol gets to finality in less than 1 to 2 seconds. The platform's documentation suggests a "few seconds" for irreversible acceptance, which is definitely something to keep in mind. More details can be found on studylib.net.
  • Polygon PoS: Their docs highlight that deterministic finality occurs in about 2 to 5 seconds after the Heimdall v2 update. However, there was a temporary delay of 10 to 15 minutes on September 10, 2025, so it's smart to account for those outliers. You can read more on docs.polygon.technology.
  • Cosmos SDK/CometBFT (Tendermint): It offers deterministic finality, with the median packet reception/acknowledgment time for IBC being around 19 to 22 seconds, mainly influenced by how often relayers operate. More on this can be found at ibcprotocol.dev.
  • Polkadot/GRANDPA: Usually, finality takes a few tens of seconds. However, there have been some stalls in finality on Kusama, so be sure to engineer timeouts and fallbacks into your system. Check out more info on medium.com.
  • Bitcoin: It’s a good idea to stick with business-value-based confirmation thresholds--six or more confirmations for high-value transactions is still pretty standard. More about this can be found on en.bitcoin.it.

3) Bridge models and what they imply for latency

Bridges mainly differ in how they determine when "the source transaction is final." This decision really impacts your overall latency from start to finish.

  • Light‑client/native (IBC): So, when it comes to IBC, you get source and destination finality right along with relay time. The average life of an IBC packet is about 19 to 22 seconds on CometBFT chains, and the best part? There are no extra trust assumptions involved. (ibcprotocol.dev)
  • Oracle/DON (Chainlink CCIP): For Chainlink's CCIP, the overall time is roughly the source finality plus any batching or relayer overhead. They have some estimates out there depending on the chain, like ETH taking around 15 minutes, Avalanche under 1 second, Solana also under 1 second, and Arbitrum/Base taking about 17 to 20 minutes (that's from L2 batch committing to L1). (docs.chain.link)
  • Validator‑set networks (Axelar): Here, the time includes source finality plus Axelar confirmation. Typical times reported include ETH around 16 minutes, Avalanche at about 3 seconds, Polygon taking roughly 4 minutes and 42 seconds, and Arbitrum around 19 minutes and 6 seconds. (docs.axelar.dev)
  • Multisig/oracle hybrids (Wormhole): For Wormhole, the Guardians hang tight for per-chain finality. To give you some examples, Solana is around 14 seconds, Ethereum is close to 19 minutes, and Arbitrum hovers around 18 minutes (and you can tweak those consistency levels). (wormhole.com)
  • Permissionless ISM (Hyperlane): The operators here wait for reorg-safe block depths for each chain (like Base which takes about 10 blocks or so, roughly around 20 seconds), and then they relay. So, the latency is basically “finality depth + relayer backoff.” (docs.hyperlane.xyz)
  • ZK light‑client bridges (e.g., Polyhedra zkBridge; Succinct deployments): These bridges remove any external trust through cryptographic verification, but they do introduce some proof latency. For instance, Gnosis mentions it takes about 20 minutes for transferring from ETH to Gnosis OmniBridge using a zk light client (considering Ethereum finality plus proof). (gnosischain.com)

Key takeaway: When you hear someone say they can offer “near-instant” cross-chain delivery, they’re usually doing one of three things: (a) counting on a speedier source chain’s finality, (b) doing some serious batching, or (c) covering liquidity and taking on finality risk on your behalf.


4) Rollups: “soft,” “hard,” and “withdrawal” finality

  • Optimistic Rollups (OP Stack, Arbitrum):

    • Soft Finality: Once the sequencer gets it, you can consider it immediate, which is awesome for user experience, but keep in mind it’s not final. (docs.arbitrum.io)
    • Hard DA Finality on L1: You'll usually wait about 10-20 minutes for those batches to post and get confirmed on Ethereum. (docs.arbitrum.io)
    • Withdrawal Finality: This is all about the challenge window, which generally sits around a week (think 6.4-7 days). So, bridge withdrawals really only settle safely after that time. (docs.optimism.io)
  • ZK Rollups:

    • To get that validity proof verified on L1, you’re looking at current timelines like around 30-60 minutes to hit L1 finality with Polygon zkEVM. For zkSync Era, their docs lay out a multi-step process that can take a few hours (and remember, project-specific safety delays might add even more time). (support.polygon.technology)
  • Post-EIP-4844: When blobs come into play, they help cut costs and can either speed up or slow down finality latency, all depending on how often you post. Posting less frequently saves you some bucks, but it also drags out that “hard” finality. So, it’s a good idea to design your batch policy with this in mind. (eips.ethereum.org)

Design Implication

When it comes to L2→L1 withdrawals, you've got two main choices:

  1. You can either accept the native window.
  2. Or, you can go for a fast-exit bridge that will front your funds while taking on the risk associated with the window.

5) “Fast” liquidity bridges: know where the risk moved

  • Across: This is where relayers put up funds at the destination and then get paid back through UMA’s optimistic oracle on Ethereum. Usually, you can expect fills to take about 1 to 2 minutes, with a median time of around 54 seconds based on past data. There’s also a short liveness/challenge period to make sure everything’s correct, typically around one hour, but if disputes come up, they can stretch out to 2 to 4 days. (li.fi)
  • Hop: It runs on a similar bonded model, and many of the routes from L2 to L1 or L2 to L2 generally fill in about a minute. The finality time depends on the sending chain’s depth. Here are some route estimates: for example, Arbitrum to Ethereum can fill in about a minute, while ETH to Arbitrum might take around 10 minutes. Base/OP varies quite a bit, ranging from 2 to 25 minutes, based on the direction and finality target. (docs.hop.exchange)

These really help with how users see speed, but don’t forget to:

  • Limit the exposure for each transaction until the source chain is finalized.
  • Keep an eye on dispute/liveness SLIs and hit pause on fast exits if the source chain is shaky. (across.to)

6) Practical latency numbers you can plan around (2025)

Here are some conservative planning figures to keep in mind for delivering messages or value across chains. You can use these as your starting point for setting SLOs and figuring out some budget room for those unexpected spikes, batching delays, and relayer inconsistencies.

  • ETH→Avalanche via CCIP: Roughly 15 minutes (for ETH finality) plus some batch overhead means you should plan for about 16-20 minutes on the 95th percentile. Check it out here.
  • ETH↔Arbitrum (canonical): The user experience (UX) feels “soft” right away; however, the L1 hard data availability takes around 10-20 minutes, and if you're looking for a safe withdrawal, expect about 6.4-7 days. Just a heads up, don’t count on soft finality for exchange settlements. More info can be found here.
  • Solana↔Solana-compatible bridge: With the Wormhole consistency marked as “safe,” you’re looking at about 14 seconds to get Guardian signature at finalized/confirmed consistency; the execution after that usually just takes seconds. More details can be found on Wormhole's site.
  • Avalanche↔Avalanche subnet: If you’re sticking with the same validator set, treat it as around 2 seconds; just keep in mind that cross-subnet bridges can vary depending on how they're set up. Dive deeper here.
  • IBC (CometBFT↔CometBFT): On healthy relayers, the median packet lifecycle is about 19-22 seconds. You can explore more about this here.
  • ETH→Gnosis (zk light client): This one takes approximately 20 minutes, accounting for ETH finalization and ZK verification on the OmniBridge. Check out more here.
  • Polygon PoS: Normally, you’re looking at around 2-5 seconds for deterministic finality, but it's wise to plan for those rare incidents that might stretch finality to about 10-15 minutes. More insights are available here.
  • Bitcoin→anything: If safety at the BTC level is your priority, make sure to budget for at least 6 confirmations, which takes around 60 minutes. You might want to allow for even more time in high-risk situations. Get the lowdown here.

7) SLOs by product type (what “good” looks like)

  • Consumer payments (L2↔L2 stablecoin, <$5k):

    • Our goal is to have a p50 time of 60 seconds or less and a p95 time of no more than 3 minutes using a fast liquidity bridge. We’ll keep an eye on hold limits and fraud checks until the source chain is in its “hard” or finalized state. Check out more details at li.fi.
  • Trading flows (inter-chain RFQ, <$500k):

    • We’re looking at a two-stage user experience here: first, expect an “optimistic fill” in under 60 seconds with the quick bridge; then, settlement confirmation once the source is finalized (for OP/Arb, that’s about 10-20 minutes for hard data; for ETH L1, it takes around 12-15 minutes). We’ll also auto-hedge our inventory during that waiting time. More info can be found at docs.arbitrum.io.
  • Institutional settlement (RWA, custody moves, >$1m):

    • We’re leaning towards deterministic/ZK or DON-backed models here, making sure the source chain is finalized (ETH takes about 15 minutes, while Polygon PoS is quicker at 2-5 seconds but we need to validate chain status). It’s also smart to add a policy buffer, like an extra 5 minutes. For L2s, let’s settle only after L1 has hard data (10-20 minutes) or once we have proof on ZK rollups (which can take 30-60+ minutes). More insights are available at ethereum.org.
  • Gaming/NFT mints (asset portability, <$1k):

    • We want to aim for a p95 time of 30-60 seconds using IBC-style or liquidity bridges. If you’re going with optimistic fast exits, remember to limit how much each wallet can expose until the source is finalized. For more information, visit ibcprotocol.dev.

8) Engineering playbook to hit those SLOs

  1. Align reads to finality semantics
  • Ethereum: Use “finalized” when you need to check a settlement-critical state; go with “safe” just for a smoother user experience. (ethereum.org)
  • Solana: For irreversible states, make sure to set commitment=finalized; use confirmed for handling UX progress and retries. (solana.com)

2) Choose the Right Bridge for Each Path

  • Composability/Low Latency (IBC-style): You can expect a median latency of around 20 seconds. Check it out here.
  • Enterprise/Chain Diversity (CCIP/Axelar): The latency is roughly equal to source finality, so make sure to use their per-chain tables to plan your p95. Get the details here.
  • UX-First Routes (Across/Hop): You’ll typically see fills in under 2 minutes, but don’t forget to put in circuit breakers for any source finality issues or oracle disputes. Learn more here.

3) Batch Policies After EIP‑4844

  • Instead of just going all out for blob savings, make sure to set a “max batch age” limit (like around 10 minutes or so). This helps keep the time-to-hard-finality in check for L2s. (blockworks.co)

4) Timeouts and retries

  • When you're working with IBC apps, make sure to set a non-zero timeoutHeight or timeoutTimestamp. It's usually a good idea to go with UNORDERED channels since they help minimize liveness coupling. You can check out more about this here.
  • For Hyperlane relayers, they've got this cool feature called adaptive backoff. So, it's smart to plan for exponential retries so you can handle those pesky temporary spikes. Find out more details here.

5) Observability that matters

  • Keep an eye on per-route metrics: (a) from source inclusion to finality, (b) how long it takes for bridge commits, and (c) execution at the destination. Set up alerts for any drops in p95/p99 performance and keep track of “finality lag” events (like what happened with the Polygon PoS incident or stalls in Kusama). You can read more about it here.
  1. Risk Caps During Optimistic Windows
  • When it comes to quick exits, it’s a good idea to establish dynamic caps for each user or asset while the source block is still being finalized. As the block moves through its phases--from proposed to safe, and finally to finalized--you can gradually widen those caps. Check out the details on this ethereum.org for more info.

9) Worked examples

A) ETH Mainnet → Arbitrum USDC Top‑Up (Retail)

  • Path: Start with Across (it’s quick) and then do an on-chain swap.
  • UX: You’ll see your credit pop up in about 1-2 minutes, but the inventory will wrap up once we hit ETH hard finality in around 15 minutes or after the Arbitrum hard DA in about 10-20 minutes, depending on which way you're going. (li.fi)
  • Risk Controls: We’ve set a cap of $2k per transfer until ETH is finalized, and if there’s any exposure over $50k, we’ll auto-hedge with CEX liquidity.

B) Solana NFT Withdrawal → Ethereum L1

  • Here's how it works: First, the Wormhole VAA on Solana gets “finalized” (which takes about a few seconds up to tens of seconds). After that, it settles on ETH after 1-2 L1 blocks for inclusion, followed by roughly 15 minutes for a finalized settlement. For the user experience, it might show “delivered” once the VAA is observed and the destination has executed. Then it shows as “settled” once the ETH is finalized. You can find more info over at wormhole.com.

C) IBC Transfer (Cosmos Hub → Osmosis)

  • For the plan, expect around 15-20 seconds for p50 and 30-40 seconds for p95 from start to finish. It's super important to set realistic SLAs for the relayer and to keep an eye on chain timeouts. You can check out more details here: (ibcprotocol.dev).

D) ETH → Gnosis with zk light-client security

  • You can anticipate this taking around 20 minutes, according to Gnosis--this includes ETH finalization and proof. It's best to focus on this for those high-value governance or state messages where cutting down on trust is totally worth the wait. (gnosischain.com)

10) Emerging practices worth adopting in 2025

  • Go for “finality‑aware” bridges: Look for providers that give you the lowdown on per‑chain finality methods (like finality tags versus block depth) and share those chain-specific estimates. A great reference for this is CCIP’s table. Check it out here.
  • Use ZK where it counts: ZK light clients (think Polyhedra and Succinct) help cut down on external trust; plan for proof times (which can take tens of minutes on Ethereum right now) and keep an eye on their proving SLIs. You can learn more here.
  • Separate the UX from settlement: Start by showing “received” (optimistic) status, then update to “secured” (once the source chain is finalized), and wrap it up with “settled” (when the destination executes under your risk policy).
  • Set “batch age” limits after Dencun to stay on top of blob-driven finality drift for L2s. For more details, check out this article on Blockworks.
  • Don’t freak out over incidents: Treat them like standard inputs. Create runbooks for finality halts (like for Ethereum in 2023, Polygon PoS in 2025, and Kusama in 2025). Include actions like pausing fast exits, bumping up confirmation thresholds, rerouting through alternative paths, and giving updates on ETA bands. You can read more about it here.

11) Quick reference: per‑stack latency anchors (2025)

  • Ethereum: Finalization takes about 12.8 to 15 minutes. You can read more about it here.
  • Solana: Their finalization relies on a supermajority lockout, designed for that level of irreversibility. Check out the details here.
  • Avalanche: They nail down finalization in just a few seconds--often under 2 seconds! For more info, go here.
  • Polygon PoS: Typically, it’s around 2 to 5 seconds for deterministic finality, but don’t be surprised if you see delays of 10 to 15 minutes every now and then. You can find more info here.
  • Optimistic L2s: They offer soft immediate finality, but Layer 1 data availability can take around 10 to 20 minutes, and withdrawals might take up to a week. More details can be found here.
  • ZK L2s: Expect proof time plus posting to take about 30 to 60 minutes on average, and some might add extra safety delays that stretch into hours. You can read more here.
  • IBC: The median lifecycle here is around 19 to 22 seconds. Check it out here.
  • CCIP/Axelar/Wormhole: The latency here mostly matches the source finality, so take a look at their specific chain estimates here.
  • Liquidity Bridges (Across/Hop): These fill in about 1 to 2 minutes, but finality might take a bit longer. Dive into more details here.

12) What to instrument (and alert on)

  • Source chain:

    • We’re looking at the finalized histogram, finalized lag compared to baseline, and the percentage of blocks hanging out in “safe” for more than X minutes. (ethereum.org)
  • Bridge layer:

    • Here we’ve got the timings for Guardian/DON/validator quorums, windows for disputes/liveness, batch age, and the proof queue depth (ZK). (wormhole.com)
  • Destination chain:

    • Key metrics include commit/execute latency, the rate of reverts, gas spikes, and the relayer backlog (IBC/Hyperlane). (docs.hyperlane.xyz)

Alert policies:

  • Trigger an alert when the p95 end-to-end latency for a route goes beyond 2× the 30-day median.
  • Automatically pause fast exits in the following situations: (a) when source finality stalls; (b) a challenge or dispute event is initiated; (c) if the batch age surpasses the established policy. (cointelegraph.com)

13) Decision template: choosing the bridge per route

  • Got a need for speed (under 30 seconds) and low trust? If both parties are using CometBFT, go for IBC! Check it out here: (ibcprotocol.dev).
  • Want to cover a bunch of chains with solid governance and support from vendors? Take a look at CCIP or Axelar--just make sure to set SLOs by their finality tables for each chain. You can find more info here: (docs.chain.link).
  • Is "instant" UX a must for retail, but the value is on the lower side? Give Across or Hop a try for quick fills (about 1-2 minutes) while keeping an eye on caps and having incident playbooks ready. More details can be found here: (li.fi).
  • Looking for compliance-grade minimal trust? Check out ZK light-client routes (right now, it may take tens of minutes) and make sure to automate settlement reconciliation. Get the scoop here: (gnosischain.com).

Closing

Latency is super important when it comes to security in cross-chain designs. Make sure you treat finality, batching, and dispute/proof windows as key parts of your product requirements document (PRD), rather than just some afterthoughts in your documentation. If you’re looking for a custom latency model, route selection, or runbooks that fit your specific assets and markets, 7Block Labs is here to help you implement, test, and keep an eye on these service level objectives (SLOs) from start to finish.


Sources and further reading

  • Ethereum Finality and SSF: Check out the safe/finalized tags on the Ethereum JSON-RPC. Want to learn more? Head to ethereum.org.
  • Solana Commitment Levels and Confirmation: Dive into the details in the Solana docs. You can find them at solana.com.
  • Avalanche Finality: For platform and builder docs as well as consensus references, take a look at the info available on studylib.net.
  • Polygon PoS Finality and Incident (Sep 10, 2025): Get the scoop on finalized transactions in the Polygon docs. Check it out at docs.polygon.technology.
  • IBC Latency and Timeouts: Want to understand IBC better? The Cosmos IBC docs and latency studies can help. Explore them at ibcprotocol.dev.
  • OP Stack/Arbitrum Finality and Challenge Windows: For details on finality, challenge windows, and BoLD, be sure to check the docs at docs.optimism.io.
  • ZK Rollup Finality: Curious about finality for ZK rollups? The Polygon zkEVM and zkSync docs have you covered. Visit support.polygon.technology.
  • CCIP/Axelar/Wormhole Latency References: For latency references on these protocols, check out the Chainlink docs at docs.chain.link.
  • Fast Bridges (Across/Hop) and UMA Liveness/Disputes: Learn more about fast bridges and UMA details at li.fi.

Like what you're reading? Let's build together.

Get a free 30-minute consultation with our engineering team.

7BlockLabs

Full-stack blockchain product studio: DeFi, dApps, audits, integrations.

7Block Labs is a trading name of JAYANTH TECHNOLOGIES LIMITED.

Registered in England and Wales (Company No. 16589283).

Registered Office address: Office 13536, 182-184 High Street North, East Ham, London, E6 2JA.

© 2026 7BlockLabs. All rights reserved.