ByAUJay
Latency Requirements Cross-Chain Bridge Designers Can’t Ignore
Designing a bridge really boils down to tackling a latency engineering challenge that often looks like an interoperability issue. If you can’t keep your end-to-end time-to-finality (TTF) in check, you’ll find that your user experience, capital efficiency, and risk controls just can’t hold up when real traffic rolls in.
1) Why latency is the first requirement, not an afterthought
- Cross-chain flows really care about latency:
- When it comes to price-sensitive activities like arbitrage, liquidations, and rebalances, every second counts. A recent study that looked at nine different chains found that bridge-based arbitrages usually take about 242 seconds to settle, while pre-positioned inventory can wrap things up in around 9 seconds. So, if you're aiming to make a profit, that latency can really make or break your earnings. (emergentmind.com)
- For businesses, things like payments and payouts need to have a reliable time-to-finality (TTF) to meet their service level agreements (SLAs) and keep their books in order--“eventual delivery” just doesn't cut it.
- Think of every bridge as a pipeline going through four stages, each of which adds a bit of unpredictability:
- Source-chain finality gate
- Observation/verification (guardians, DVNs, light clients, watchers)
- Proof or batch commit + relay to the destination
- Destination inclusion/finality
If you miss just one, your p95 goes through the roof.
2) Your latency budget: a formula you can actually use
Define an End-to-End Target (TTF_e2e) and Budget It
To kick things off, let’s break down what an end-to-end target (TTF_e2e) is all about. Essentially, TTF_e2e refers to the complete journey of your target--from the initial concept to the final outcome. It's about ensuring that every step of the process is aligned and working toward the same goal.
Now, budgeting for TTF_e2e involves outlining the financial resources you'll need to get there. Here’s how you can approach it:
- Identify Key Milestones: Pinpoint the main stages in the process where you’ll need to allocate funds. This could include research, development, testing, and marketing.
- Estimate Costs: For each milestone, estimate how much it's going to cost. Don’t forget to factor in labor, materials, and any technology you might need.
- Allocate Resources: Determine how to best distribute your budget across the various milestones. Make sure you have enough set aside for each phase so things run smoothly.
- Monitor and Adjust: As you move forward, keep an eye on your spending to ensure you’re staying within budget. If things go off track, be prepared to adjust your plans.
- Review Outcomes: Once you've hit your targets, review the entire process. This will help you understand what worked, what didn’t, and how you can refine your approach next time.
By defining TTF_e2e and budgeting it properly, you’ll have a clearer pathway to achieving your goals while keeping your finances in check.
TTF_e2e ≈ T_source_finality + T_observation/verification + T_batching/relay + T_dest_inclusion + ε(network)
- T_source_finality is the main factor for conservative bridges.
- T_observation/verification usually takes anywhere from seconds to minutes, based on guardians/oracles or DVN thresholds.
- T_batching/relay can stretch things out from seconds to minutes due to batch intervals and mempool contention.
- T_dest_inclusion depends on how well mempool propagation works and how you set fees.
Here are the latest and most reliable inputs for that equation.
3) Source-chain finality you must design around (Dec 2025 reality)
- Ethereum: Right now, getting economic finality takes about 2 epochs, which translates to around 12.8 minutes. Single Slot Finality (SSF) is on the horizon but not yet active. If you're looking for finalized blocks, it's a good idea to budget around 13-15 minutes since a lot of bridges depend on the JSON‑RPC “finalized” tag. You can check more about it on ethereum.org.
- Solana: The “Alpenglow (SIMD‑0326)” initiative is aiming for finality in the ballpark of 100-150 ms using Votor/Rotor. But as of late 2025, this is still a proposal that's in the voting stage, so don’t expect it to be the new standard just yet. For now, it’s safer to stick with today’s multi‑second confirmations for your production Service Level Objectives (SLOs). More details can be found at theblock.co.
- NEAR: The mainnet rolled out with 600 ms blocks and about 1.2 s finality back in May 2025. If you’re in the market for a “fast and final” Layer 1 solution, this one stands out with some solid production claims and data backing it up. Dive into the specifics at pages.near.org.
- Avalanche (C‑Chain/Subnets): Their official builder docs and support articles consistently indicate a finality timeframe of about 1-2 seconds. The builder hub even shows a range of ~0.8-2.0 seconds, depending on the context. You should budget for 1-2 seconds plus a little extra room just in case. Check it out at build.avax.network.
- Cosmos (CometBFT): Here, you’re generally looking at 1-6 seconds for deterministic finality, which can vary based on how the zones are set up. A lot of Cosmos EVM chains report around 1-2 seconds. The differences boil down to the size of the validator set and block times. For more information, visit docs.cosmos.network.
- Polkadot (GRANDPA): They offer deterministic finality, but keep in mind that it can lag under heavy stress. Recent analyses have shown that stalls might happen, so it's wise to build in some timeout and backoff logic. You can read more about it on docs.polkadot.com.
Tip: Make sure to have a catalog for each chain that automatically updates the “SLO finality” and “UI confirmation” times. It’s a good idea to version this alongside your bridge configs.
4) The bridge primitive you choose determines your seconds or minutes
Different stacks have their own waiting rules before they take action. Here’s what you need to know about latency:
- Wormhole (Guardian‑signed VAAs)
- So, Guardians hold off based on how "consistent" a chain is. For Ethereum, when a VAA is “finalized,” it usually takes about 19 minutes. On Solana, we’re looking at around 14 seconds, and for Avalanche, it’s roughly 2 seconds. If you choose “Instant/Safe” instead of “Finalized,” you can save some time, but it does come with a higher risk of reorgs--so you'll want to weigh that depending on your flow. (wormhole.com)
- The security setup relies on 13 out of 19 Guardian signatures. The delivery providers aren’t trusted for accuracy, but they do impact how quickly things get delivered. (wormhole.com)
- Chainlink CCIP (DON + Risk Management Network)
- When it comes to end-to-end latency, you can think of it as a mix of “source finality + batching (which takes about 1-5 minutes) + destination inclusion” for a bunch of different routes. The CCIP docs break down the finality tags and times for each chain (for example, Ethereum is around 15 minutes, while Avalanche clocks in under a second). They also clarify that the Committing DON hangs tight for that finality before it pushes anything along. So, if you’re dealing with messages coming from L1, you might want to budget a few minutes unless you’re working with a fast-finality L1. Check out the details here.
- LayerZero v2 (DVNs + Executors)
- You can tweak latency thanks to the outbound confirmations and DVN quorum. A solid go-to setup could require N confirmations along with 2 needed DVNs--each of those DVNs has to say "yes" before an executor can deliver. Keep in mind, more DVNs mean it's safer but also a bit slower. You can balance ordered versus unordered execution to maintain high throughput without getting stuck if a nonce fails. Check out more details in the docs.
- IBC (light clients, no trusted relayer)
- In real-world scenarios, the median time for
recvPacketon CometBFT chains is around 22 seconds. When you factor in the full packet process (from send to ack), it adds another approximately 20 seconds, not counting any consensus latency. It's important to set timeouts explicitly using either height or timestamp, and you'll need to fine-tune these settings. If you're aiming for lower tail latencies, consider using the ICS-29 fee middleware, which can provide incentives for relayers. You can dive deeper into this topic at ibcprotocol.dev.
- In real-world scenarios, the median time for
- Circle CCTP (attestations for USDC)
- The V2 update introduced “fast messages” which really speeds things up: for instance, Ethereum 2 blocks now take about 20 seconds, and many L2s/alt‑L1s only need around 8 seconds for one block. If you’re using the “Standard” mode, though, it still waits for L1 finality, which on Ethereum can take around 13 to 19 minutes, or about 65 blocks. This setup is one of the neatest ways to create a sub-30 second USDC transfer experience across supported chains, all while trusting Circle’s attestors. Check it out here: (developers.circle.com)
- Liquidity-bonded bridges (like Hop, Across, and others)
- The "fast path" works with market makers and bonders to speed things up. Hop's docs mention that typically, many L2 to L1/L2 transfers can take around a minute under normal circumstances. But, if bonders are offline or low on funds, you might end up waiting hours or even days because of root propagation and manual withdrawals. So, while it's great to aim for the smooth route, just make sure you have a plan for when things don't go as expected. (docs.hop.exchange)
Decision Rule
So here's the deal: if your use case requires a p95 under 30 seconds, you usually gotta go for a fast-finality Layer 1 on the source. Alternatively, you can opt for a "fast path" (think CCTP fast or liquidity-bonded), but that comes with its own set of trust and trade-off considerations you’ll need to accept.
5) Destination inclusion isn’t free: mempool propagation and fee strategy
Even when your bridge gives you the green light with a "go," you still have to make sure the destination chain includes your transaction.
- When it comes to Ethereum, the speed of blob-tx mempool propagation is pretty impressive: 99% of peers catch the transaction within a second from the first to the last arrival, with a median of around 235 ms. That’s some solid news--any delays you experience are mostly tied to builder and fee dynamics. (ethresear.ch)
- If you want to cut down on latency variance, consider using private orderflow:
- Utilizing Flashbots Protect and MEV supply chain tools (like private transactions and preconfirmation research) can really help minimize uncertainty about inclusion, especially when fees are spiking. Don't count on the public mempool operating as “tip → next block” during those chaotic moments. (docs.flashbots.net)
- On fast-finality Layer 2s, those sub-second blocks bring their own set of latency challenges (think spam-based MEV and top-of-block clustering). Make sure to keep some margin in your p95→p99 gap. (arxiv.org)
Practical Target
If you’re aiming for “<5 seconds to a visible destination event,” here’s a straightforward policy you can implement:
- Start by overpaying for that first inclusion attempt on purpose (we're talking about an elastic fee cap here).
- Then, give it another go on the next two blocks using adaptive tips.
- If the public mempool is slow, don’t hesitate to switch to a private relay.
6) ZK light clients and proving times: rapidly changing--and decisive
- Traditional light-client bridges to Ethereum have had their fair share of challenges, especially when it comes to proving costs and time (like with sync-committee proofs). But guess what? Things are changing really fast:
- Back in May 2025, Succinct’s SP1 “Hypercube” managed to show live Ethereum block proofs in about 10.8 seconds (with internal tests showing 93% of 10,000 blocks getting proven under 12 seconds). This hints at some pretty exciting “1-slot” proving for specific tasks. If you’re okay with the proving trust and availability assumptions, this could basically turn “wait-for-finality” into “prove-and-verify” windows. Check it out here: (theblock.co).
- On the flip side, most ecosystem averages are still clocking in at several minutes for full-block proving in real-world scenarios. So, while real-time proving is definitely on the rise, it’s not quite mainstream yet. Make sure to check up on the proving provider’s Service Level Objectives (SLOs) before diving in. More on that here: (university.mitosis.org).
- When it comes to Cosmos↔EVM, zk-IBC/light-client projects are getting better and better. Just keep in mind that proving latency is likely to be in the range of seconds to minutes for now--definitely not milliseconds--until you’ve done some benchmarking along your specific path. Check it out here: (medium.com).
- Some bridge stacks, like Wormhole, are starting to integrate ZK light clients. This shift is all about reducing guardian trust over time--so keep an eye on the rollout status for each route before you factor it into your budget. More details can be found here: (wormhole.foundation).
Engineering Guidance
Let's prioritize “proof availability” and treat it like a first-class circuit breaker. If you notice that your ZK prover's Service Level Objectives (SLO) are slipping, it's a good idea to automatically switch to a more cautious approach. This could mean going with a wait-for-finality method or maybe queuing up acknowledgments that users can see.
7) Worked examples you can benchmark this week
- Moving USDC from the mainnet to Avalanche in under 30 seconds (real-world scenario)
- Tech Stack: CCTP V2 “fast message.”
- Breakdown: About 2 Ethereum blocks (~20 seconds) plus some time for DON/attestation overhead (just a few seconds) and finally, Avalanche inclusion (around 1-2 seconds). So, we’re looking at roughly 25-35 seconds on average. Feel free to double-check this on your own setup. (developers.circle.com)
- Sending Ethereum to Solana using Wormhole: “safe” vs “finalized”
- For the “Finalized” policy, it takes about 19 minutes for ETH finality, then we add some time for the relay and Solana inclusion, which brings us to roughly 20 minutes on average (p50).
- On the flip side, the “Safe/Instant” policy wraps things up in just seconds to a few tens of seconds, but you might have to deal with a small risk of reorganization on the ETH side. You can choose based on what you need for each application, like whether you're sending alerts or minting assets. You can check out more details at (wormhole.com).
- Example C -- Cosmos Hub → Osmosis token transfer (IBC)
- Budget: the source commit plus recvPacket median is around 22 seconds; a complete round-trip with ack takes about 40 seconds, not counting any chain consensus variance. To reduce the tail, utilize ICS-29 fees. (ibcprotocol.dev)
- Example D -- L2→L1 funds through Hop (withdraw)
- Happy path: It usually takes about a minute for a lot of routes when bonded liquidity is available. But if the bonders are offline, you might be waiting for hours or even days. So, make sure your user experience highlights a fallback option and doesn’t leave users stuck. (docs.hop.exchange)
- Example E -- NEAR→EVM “near‑instant” flows
- Thanks to NEAR’s finality of about 1.2 seconds and a speedy relay route, you can achieve an end-to-end time of under 5 seconds for simple messages. Just keep in mind that the biggest factor will be the destination's inclusion policy. (pages.near.org)
8) Emerging practices to hit real SLAs (and what to actually implement)
1) Define SKU-level latency SLOs
- Bronze (T+15 min): This tier needs L1 finality on the origin, like when Ethereum is “finalized,” before we can take action. We'll rely on conservative bridge modes, such as the “finalized” version of Wormhole and the CCIP standard. This setup is good for things like settlements and payroll. Check out more in the Chainlink documentation.
- Silver (T+2 min): Here, we can go with source-chain “safe head” or quick-finality L1 origins, which allows for a bit more flexibility. We’ll add in batching and have multiple relayers in the mix. For this, we’ll only use CCIP fast routes when the origin supports it. Also, we set up alarms for anything that goes beyond the 95th percentile. More details can be found on Circle’s developer page.
- Gold (T+10-30 s): At this level, we require a fast-finality origin, which could be something like Avalanche, NEAR, or Cosmos. We can also use “fast path” methods like CCTP fast or liquidity-bonded solutions. Pre-funding the vaults is a must, and we need to ensure private inclusion on the destination side. It's also important to document any trust factors and trade-offs involved. You can dive deeper into this over at the Avalanche build documentation.
- Engineer multi-path delivery
- Set up two separate verification paths (like DVN quorum paired with an alternate DVN, or Guardian-signed along with ZK light-client when that's an option). Go ahead and execute the first path to meet your SLO; you can sort out the rest later. (docs.layerzero.network)
- Adjust IBC timeouts and compensate relayers
- When setting
timeoutHeightandtimeoutTimestamp, consider the p99 latency. Don't forget to integrate the ICS‑29 fee middleware to encourage quicker delivery, especially when dealing with different zones. Check out more on this at (ibc.cosmos.network).
4) Adopt Preconfirmation Practices Where Available
- For those latency-sensitive flows, consider using stake-backed preconfirmations (like builder/relay commitments) to provide users with sub-second “soft acks.” After that, you can finalize through your canonical path. Keep an eye on ongoing MEV-preconf research and vendor SLAs. Check it out here: (hackmd.io)
5) Over-instrument the Destination Leg
- Keep an eye on the p50/p95/p99 inclusion rates from your submitter. When you're working with Ethereum, you can expect great propagation times (around 235 ms on average), but be prepared for some shaky inclusion when things get congested. It’s a smart move to switch to private relays during those peak times. Check out more on this here.
6) Get Ready for ZK Light-Client Rollouts--but Don't Forget a Toggle
When ZK light clients are up and running, you can swap out “wait N blocks” for “verify proof,” which means cutting down wait times from minutes to mere seconds. Just make sure to have a toggle on hand so you can switch back to more cautious modes if the prover SLOs take a hit. (theblock.co)
9) Latency checklists per bridge style
- Guardian/Committee-signed (like Wormhole)
- Pick a consistency level for each route (Instant/Safe/Finalized).
- Configure delivery provider redundancy for p99.
- Keep an eye on guardian quorum liveness and establish what “stuck” means. (wormhole.com)
- Oracle/DON batched (like CCIP)
- Check the batching interval for each route and how we define finality (think finality tag vs. depth).
- It’s best to go with fast-finality source chains for a smoother interactive experience, while we can stick with the standard for L1 origins. (docs.chain.link)
- DVN‑verifier model (LayerZero v2)
- Adjust the outbound confirmations and DVN thresholds so they align with your SKU SLO.
- For better throughput, go ahead and enable unordered execution; only use ordered execution where the state coupling really needs it. (docs.layerzero.network)
- Trustless light-client (IBC and zk-LCs)
- Adjust timeouts and fee middleware; keep an eye on relayer set diversity.
- When working with zk-LC, make sure to enforce prover SLOs and perform on-chain sanity checks. (ibcprotocol.dev)
- Liquidity‑bonded (Hop/Across)
- Think of “fast” as a best-effort option; create clear user experience flows for fallback and manual exits.
- Keep an eye on LP inventory and bonder health; set up alerts for when capacity takes a hit. (docs.hop.exchange)
10) What to change in your design review this quarter
- Swap out “confirmation counts” for “SLOs by route.” Here’s how the per-route YAML should look:
- origin: ethereum, policy: finalized, ttf_budget: 900s (p95), fallback: queue
- origin: avalanche, policy: finalized, ttf_budget: 5s (p95), fallback: private relay
- Let's throw in a destination inclusion controller that:
- kicks off with an aggressive tip,
- makes adaptive retries for two blocks,
- ramps up to a private relay if the lag exceeds 2× p95.
- For USDC corridors, let’s lean towards CCTP fast where it's available; and don’t forget to clearly label “fast‑trust” versus “standard‑trust” in the docs and dashboards. (Check it out at developers.circle.com)
- Let's pilot one ZK‑LC route (maybe ETH→EVM via SP1 LC when it’s ready for production) behind a feature flag; time to keep an eye on the real benefits versus operational complexity. (More details at theblock.co)
- For our Cosmos paths, we need to incorporate ICS‑29 fee middleware and establish timeouts based on actual production data, not just rough estimates. (Take a look at ibcprotocol.dev)
Appendix: Current reference latencies worth bookmarking
- Ethereum is sitting at about 12.8 minutes for finality right now. There’s talk about a proposed SSF, but it's not live yet, so don’t plan your budget around it just yet. (ethereum.org)
- NEAR is super quick with around 1.2 seconds for finality, thanks to the May 2025 mainnet update. Pretty impressive! (pages.near.org)
- Avalanche keeps it tight with 1-2 seconds finality on their C-Chain and Subnets, according to the official docs. (build.avax.network)
- Over in Cosmos/CometBFT world, you’re looking at a typical finality between 1-6 seconds. Just so you know, the median for IBC recvPacket is about 22 seconds, and full packet time is around 20 seconds, not counting any latency from consensus. (ibcprotocol.dev)
- With Wormhole, finality times vary by chain: ETH takes about 19 minutes, Solana is at 14 seconds, and Avalanche wraps things up in about 2 seconds. (wormhole.com)
- CCIP is a bit more patient; it waits for source finality. So, you can expect L1 to L1 transfers to take a few minutes, unless you're using fast-finality origins. Their docs have all the per-chain time details if you're curious. (docs.chain.link)
- For CCTP V2, it's pretty speedy: ETH takes about 2 blocks or roughly 20 seconds, while a lot of L1 and L2s only need 1 block or about 8 seconds. (developers.circle.com)
- When it comes to Hop, typical L2 withdrawals are generally under 1 minute on the fast path. But be aware, if bonders are unavailable, you might be waiting hours or even days. (docs.hop.exchange)
- Lastly, Ethereum’s mempool propagation for blob transactions is pretty snappy: 99% of them are seen in under 1 second, with a median around 235 milliseconds. (ethresear.ch)
Bottom line for decision‑makers
- Start by choosing your latency class based on what you're trying to achieve; everything else will build off that.
- Factor in "wait-for-finality" when you're calculating your budget, but don’t waste time if there are quick-finality or fast-path options that work for you.
- Make sure to track everything, especially when it comes to which destinations you include. Adding circuit breakers and alternative routes is a must. The most successful bridges in 2026 won’t just have eye-catching whitepapers; they’ll be the ones with reliable p95s, straightforward fallback options, and transparent tradeoffs.
Need a hand turning those numbers into SLOs and configurations for your specific corridors? Look no further! 7Block Labs can take a look at your routes, run some benchmarks, and get you the YAML, dashboards, and on-chain knobs you need in less than two weeks.
Like what you're reading? Let's build together.
Get a free 30-minute consultation with our engineering team.
Related Posts
ByAUJay
Building 'Private Social Networks' with Onchain Keys
Creating Private Social Networks with Onchain Keys
ByAUJay
Tokenizing Intellectual Property for AI Models: A Simple Guide
## How to Tokenize “Intellectual Property” for AI Models ### Summary: A lot of AI teams struggle to show what their models have been trained on or what licenses they comply with. With the EU AI Act set to kick in by 2026 and new publisher standards like RSL 1.0 making things more transparent, it's becoming more crucial than ever to get this right.
ByAUJay
Creating 'Meme-Utility' Hybrids on Solana: A Simple Guide
## How to Create “Meme‑Utility” Hybrids on Solana Dive into this handy guide on how to blend Solana’s Token‑2022 extensions, Actions/Blinks, Jito bundles, and ZK compression. We’ll show you how to launch a meme coin that’s not just fun but also packs a punch with real utility, slashes distribution costs, and gets you a solid go-to-market strategy.

