Specialist engineering

Cross-chain integration engineering: routes, adapters, and failure handling

“We need our application to work across several chains, and we need to know exactly what happens when one leg of a multi-chain workflow fails.”

Cryptuon designs, builds, and tests cross-chain integrations for named chain pairs: route-specific adapters, failure handling, test harnesses, and operations.

When teams bring us this

  • Your roadmap adds a second or third chain, and the current design assumes one
  • A multi-chain flow has partially executed in testing or production, and recovery was manual
  • You are choosing between LayerZero, Wormhole, CCIP, Hyperlane, or an intent bridge, and need a decision tied to your actual routes
  • An auditor or partner has asked for your cross-chain failure model, and nobody has written it down
  • Latency figures in vendor material do not match what your users see end to end

Usually owned by

  • Protocol CTO
  • Wallet or application engineering lead
  • Head of infrastructure
Scope

What you receive, and how “done” is defined

Deliverables

  • Route inventory: every chain pair, asset or message type, value per transfer, and finality assumption
  • Failure-mode matrix for each route: detection, compensation (refund, retry, or unwind), owner, and what the user sees
  • Adapters and integration code on the chosen protocol for each route, with rate limits, pause controls, and replay protection
  • Failure-injection test harness on local forks and testnets, plus monitoring, alerts, and runbooks

Example acceptance criteria

  • Every failure case in the agreed matrix has an automated test that ends in a defined state: completed, refunded, or queued for a named person to act on
  • No test scenario leaves value stranded on one chain without an alert within the agreed detection time
  • End-to-end latency is measured on testnet for each route and reported as p50 and p95 to the agreed settlement point, not only to coordination
  • Replaying any cross-chain message or leg produces no duplicate effect

Not included unless scoped

  • Independent security audit of contracts or bridge integrations (scoped and priced separately)
  • Operating a bridge, holding pooled liquidity, or taking custody of user funds
  • Token launches, liquidity incentives, or market-making
  • Guarantees about the security or uptime of third-party protocols
Engagement

How this is bought

Start with a fixed-fee assessment. Every later stage is optional and scoped in writing before it starts.

  1. Step 1 · Specialist review

    Specialist technical assessment

    from $3,000 · 1–3 weeks

    • Signing, cross-chain, runtime, or production-readiness analysis with a written scope
    • Failure-mode and rehearsal plan for the change you intend to make
    • Evidence pack you can share with your own reviewers
  2. Step 2 · Implement

    Implementation sprint

    from $12,000 · 3–8 weeks

    • The agreed migration or integration, delivered against written acceptance criteria
    • Tests, runbooks, and documentation
    • Handover, or transition into managed operations
  3. Step 3 · Operate

    Managed operations and maintenance

    from $1,500/month · Monthly, 3-month minimum

    • Defined monitoring, maintenance, and incident responsibilities
    • Supported changes within an agreed envelope
    • Provider management and monthly reporting

Prices exclude independent audits, substantial infrastructure consumption, and legal advice unless written into the scope. All engagement types →

The short answer

Cross-chain applications break at the edges: one leg executes and another does not. Cryptuon starts from the exact chain pairs you need and a written failure model for each route. We then choose the protocol for each route, build the adapters, and prove the failure handling with injected faults on forks and testnets before any mainnet value moves.

Two questions are often treated as one, and they should not be. “How fast is the message?” is about coordination. “When is the workflow settled, and what happens if it is not?” is about settlement. We sell answers to both.

Decision criteria

The questions that decide cost and approach:

Which exact chain pairs, assets, and values?

“Multi-chain” is not a scope. “USDC from Arbitrum to Base, up to $250k per transfer, 400 transfers a day” is. Each chain pair has its own protocol coverage, finality, gas profile, and liquidity. A route that a protocol supports in its documentation still has to be tested end to end for your asset and contract.

What happens when one leg fails?

For each route we list the failure cases and the terminal state each one must reach:

  • Destination revert: slippage, a paused contract, insufficient liquidity, or a changed allowance.
  • Delivery without execution: the message arrives, but the executor runs out of gas or a stored payload waits for a retry.
  • Destination stalls: a sequencer is down or congested past the workflow’s deadline.
  • Source reorg: the message was sent on a soft confirmation that later reorganised.
  • Relayer or verifier outage: no one submits the next leg.
  • Rate limit hit: a token-transfer limit pauses the route mid-flow.
  • Deadline race: a resolution lands on one chain after refunds have opened on another.

Each case ends in one of three states: completed, refunded, or queued for a named person to act on. It also needs an alert. “It probably won’t happen” is not a state.

Is coordination latency the number you need?

Vendor latency figures usually measure coordination, not settlement. Switchboard’s design target is sub-400 ms to commit on its Solana coordinator. Tesseract’s swap groups use a configurable 5 to 300 second coordination window, with 30 seconds as the default. As our own atomicity write-up notes, Tesseract operates at L2 sequencer confirmation, not at L1 finality. Ethereum finality takes about 13 minutes, and native withdrawals from optimistic rollups wait out a challenge period of about seven days. We measure every route against the settlement point your application relies on.

Messaging, intents, or atomic settlement?

  • Messaging (LayerZero, Wormhole, CCIP, Hyperlane) delivers a payload. If the destination fails, compensation is your application’s job.
  • Intent bridges (Across) let a relayer front the funds on the destination and take the finality risk. This is fast for supported assets, but it is a transfer, not a multi-leg transaction.
  • Atomic groups (Tesseract) make every leg resolve or become refundable. They cover only supported EVM rollups and add gas for the extra phases.

Who operates it after launch?

Relayers, executor gas wallets, pause authority, verifier configuration, and alerting all need owners. The operational surface often costs more over a year than the integration itself.

Implementation options

ApproachHow it worksStrengthTradeoffMaturity
Tesseract (Cryptuon)Vyper contracts on each EVM rollup plus a Rust relayer; commit, reveal, then resolve every leg of a swap group or make each refundable after its deadlineNative assets, no wrapped tokens, all-or-nothing intent at the contract layerEVM rollups only; adds a coordination window; resolution relies on an authorised resolver role and sequencer-level confirmationOpen source, 135-test suite, testnet-deployable; no third-party audit published
Switchboard (Cryptuon)A Solana program acts as coordinator; two services relay to destinations, with a verifier and a fail-open, fail-closed, or fallback finality policy for each routeOne integration surface for many chainsAdds Solana liveness as a dependency; coverage must be verified for each chain pairDeclared: source on GitHub; latency figures are design targets
LayerZeroImmutable endpoints; the application configures verifier networks (DVNs) and an executor for each pathBroad chain coverage; OFT standard for omnichain tokensSecurity is whatever you configure; failure handling at the destination is the application’s jobEstablished, widely used on mainnet
WormholeA 19-member guardian set signs messages (VAAs) that destination contracts verifyBroad EVM and non-EVM coverage, including SolanaTrust in the guardian set; its 2022 exploit still shapes many risk reviewsEstablished, widely used on mainnet
Chainlink CCIPChainlink oracle networks carry messages and tokens, with an additional risk-management layer and rate limits on token transfersDefence in depth; managed serviceCoverage and timing are set by Chainlink, and waiting for source finality makes some routes slowEstablished, on mainnet
HyperlanePermissionless deployment; each application chooses an Interchain Security ModuleCan reach chains others do not coverYou design the security module and often run relayersEstablished, on mainnet
AcrossIntent-based: relayers fill on the destination from their own capital and are repaid after optimistic verificationFast fills for supported assetsAsset transfers on supported routes; not general multi-leg atomicityEstablished, on mainnet

Most production designs are mixed by route. An established messaging protocol carries governance or configuration messages, an intent bridge handles user transfers, and atomic settlement is used only where a partly executed workflow would be expensive.

The delivery sequence

  1. Route inventory. Chain pairs, assets, value bands, volumes, and finality assumptions.
  2. Failure matrix. Every failure case for every route, with its terminal state, detection time, and owner.
  3. Protocol selection. The protocol for each route, chosen against the matrix, with verifier configuration and rate limits.
  4. Adapters. Contracts and client code, with replay protection, pause controls, and idempotent handlers.
  5. Failure injection. Automated tests on local forks and testnets that stall, revert, and replay each leg.
  6. Measurement. p50 and p95 latency on testnet for each route, measured to the agreed settlement point.
  7. Operations. Monitoring, stranded-value alerts, runbooks, and an audit-readiness pack.

The route manifest is the contract between design and tests. An illustrative example:

# Illustrative route manifest: one entry per chain pair and flow.
routes:
  - id: arb-to-base-usdc-rebalance
    source: arbitrum-one
    destination: base
    asset: USDC
    max_value_usd: 250000
    protocol: tesseract-swap-group   # candidate; testnet only until audited
    settlement_point: l2-sequencer-confirmation
    deadline_seconds: 30
    on_failure:
      destination_revert: refund_all
      destination_stalled: refund_all
      relayer_offline: refund_all
      source_reorg: page_oncall
    alerts:
      stranded_value_after_seconds: 60
  - id: eth-to-solana-governance
    source: ethereum
    destination: solana
    payload: governance-config
    protocol: wormhole
    settlement_point: source-finality
    on_failure:
      destination_revert: retry_then_page_oncall
      delivery_without_execution: retry_with_backoff

Each on_failure entry becomes a test. Here the destination leg stalls past its deadline, and both legs must end refundable with nothing stranded:

// Failure-injection acceptance test. `openSwapGroup`, `refundAll`, and
// `tokenBalances` are the project's own harness (illustrative names);
// the chains are two local Anvil forks.
import { createTestClient, http, parseUnits } from "viem";
import { foundry } from "viem/chains";
import { expect, it } from "vitest";
import { openSwapGroup, refundAll, tokenBalances } from "./harness";

const arb = createTestClient({ chain: foundry, mode: "anvil", transport: http("http://127.0.0.1:8545") });
const base = createTestClient({ chain: foundry, mode: "anvil", transport: http("http://127.0.0.1:8546") });

it("refunds every leg when the Base leg misses its deadline", async () => {
  const before = await tokenBalances(["arbitrum", "base"]);
  const group = await openSwapGroup({
    legs: [
      { chain: "arbitrum", sell: "USDC", amount: parseUnits("1000", 6) },
      { chain: "base", buy: "WETH", minOut: parseUnits("0.25", 18) },
    ],
    deadlineSeconds: 30,
  });

  await base.setAutomine(false); // simulate a stalled sequencer
  await arb.increaseTime({ seconds: 31 });
  await base.increaseTime({ seconds: 31 });
  await arb.mine({ blocks: 1 });
  await base.setAutomine(true);
  await base.mine({ blocks: 1 });

  expect(await group.status()).toBe("refundable");
  await refundAll(group);
  expect(await tokenBalances(["arbitrum", "base"])).toEqual(before);
});

Evidence

  • Tesseract’s commit, reveal, and resolve lifecycle, the resolver role, and the relayer topology are documented in how it works and the Tesseract documentation. The quickstart runs the 135-test suite and deploys to a testnet.
  • Tesseract’s comparisons with LayerZero and Across set out where each approach fits.
  • Switchboard’s two-service architecture, verifiers for each destination, and finality policies are described on its architecture page and in the Switchboard documentation. It also has a comparison with Chainlink CCIP.
  • Gas overhead estimates for each phase and Tesseract’s limitations, including its sequencer-level finality assumption, are in the cross-chain atomicity problem. Where state sync fits relative to bridges, messaging, and intents is covered in cross-chain state sync for the agent economy.
  • Tesseract builds on the paper Towards Universal Atomic Composability, listed on /research.
  • Not yet evidenced: neither project has a published third-party audit. Switchboard’s sub-400 ms latency and its chain counts are design targets with no independently reproduced benchmark. In the maturity register, Tesseract is at “reproduced” and Switchboard at “declared”, and neither has been accepted in a paying delivery.

What drives the cost

  • Number of chain pairs and protocols. Each route adds adapters, test fixtures, and monitoring.
  • Failure cases that need automated tests. Stalls, reverts, reorgs, and replays each need harness support.
  • Non-EVM chains. Solana, Cosmos, or Bitcoin-adjacent legs need different tooling and test environments.
  • Value at risk. Higher values justify stricter verifier configuration, lower rate limits, and longer settlement waits.
  • Operations. Relayer and executor gas management, alerting, and on-call cover after launch.
  • Audit scope. Custom contracts on any route need an independent audit before they hold mainnet value.

Limitations and what we won’t do

  • We do not operate bridges, hold pooled liquidity, or take custody of funds.
  • We do not guarantee the security or uptime of third-party protocols. We design for their failure.
  • Tesseract covers supported EVM rollups only and has not been audited. We will not put it on a mainnet route without an independent audit.
  • Switchboard’s figures are design targets. Any chain pair that relies on it is tested before it is proposed.
  • If one chain, or one well-established protocol, solves your problem, the assessment will say so.

Next step

Send us the chain pairs, assets or message types, rough values and volumes, and any incident you have already had. The specialist assessment returns a route inventory, a failure-mode matrix, a protocol recommendation for each route, and a costed implementation plan.

Technology

Cryptuon technology we may use

Open-source components we can bring to this work. They are used only where testing on your workload supports them, and evidence levels come from the public maturity register.

Alternatives

Options we’d recommend when they fit better

The assessment compares these on your actual workload. If one of them wins, the recommendation says so.

LayerZero

You need generic messaging or omnichain tokens across many chains and want to choose the verifier set for each path

Wormhole

Your routes include Solana or other non-EVM chains, and a guardian-attested model fits your risk appetite

Chainlink CCIP

You value a managed, institution-oriented service with token-transfer rate limits more than raw latency

Hyperlane or an intent bridge such as Across

Hyperlane if you need permissionless deployment to a chain others do not cover; Across if users mainly need fast asset transfers

FAQ

Questions buyers ask

What happens when one leg of a multi-chain transaction fails?

It depends on the protocol, which is why we write it down per route. Messaging protocols deliver messages but do not undo the source-chain action if the destination reverts, so your application must refund, retry, or unwind. Atomic swap designs such as Tesseract make every leg refundable after a deadline instead. Each failure case should end in a defined state, with an alert and a named owner.

How much does a cross-chain integration cost?

Cross-chain work starts with a specialist assessment (from $3,000) that inventories routes and writes the failure model. Implementation sprints start from $12,000, and managed operations — relayer and executor monitoring, alerts, and incident response — from $1,500 per month. Cost scales with the number of chain pairs, protocols, and failure cases that need automated tests.

Do you only use Tesseract or Switchboard?

No. Most production routes today are better served by established protocols such as LayerZero, Wormhole, Chainlink CCIP, Hyperlane, or Across. Tesseract or Switchboard come into the design only where their model fits a route and testing supports them, and neither should carry mainnet value until it has been independently audited.

Which is the best cross-chain protocol: LayerZero, Wormhole, or CCIP?

There is no single best. The right choice depends on the chain pair, the value per transfer, whether you are moving assets or arbitrary messages, how much verifier configuration you want to own, and how long you can wait for finality. Many applications use different protocols on different routes.

How fast can a cross-chain transaction settle?

Coordination and settlement are different numbers. A message can be relayed in seconds, but Ethereum finality takes roughly two epochs (about 13 minutes), and native withdrawals from optimistic rollups wait out a challenge period of about seven days. Intent bridges fill quickly by having relayers take on that delay. We measure latency to the settlement point your application actually relies on.

Is Tesseract audited and production-ready?

No third-party audit report has been published. Tesseract's Vyper contracts pass a public 135-test suite and can be deployed to EVM testnets, which makes them suitable for evaluation and testnet pilots. Mainnet use requires an independent audit first, and the integration also has to review the failure handling for each route.

Bring us the requirement

Describe the outcome, what is blocking it, and when it must work. We reply with what a scoped assessment would cover and cost.