A payment bridge is a specialized cross-chain messaging protocol designed to transfer fungible token value from one blockchain to another. Unlike a general-purpose messaging bridge, its scope is intentionally limited to asset transfers, which simplifies security analysis and reduces attack surface. The core challenge in non-EVM compatibility is translating between fundamentally different execution environments: the account-based, stateful model of Ethereum and its L2s versus the UTXO model of Bitcoin or the parallel execution model of Solana. Your architecture must abstract these differences into a clean, chain-agnostic interface for the core bridge logic.
How to Architect a Payment Bridge for Non-EVM Chain Compatibility
How to Architect a Payment Bridge for Non-EVM Chain Compatibility
This guide details the architectural patterns and technical considerations for building a secure, efficient payment bridge that connects EVM chains with non-EVM ecosystems like Solana, Cosmos, or Bitcoin.
The canonical architecture for a secure bridge involves three core components: a Relayer network for off-chain message passing, a set of On-Chain Verifiers (or Vaults) to custody assets and validate incoming messages, and a standard Messaging Format like the IBC packet or a generalized token standard such as Circle's CCTP. For non-EVM chains, you must implement light clients or verifiers in the chain's native language (e.g., Rust for Solana, Go for Cosmos) that can validate state proofs from the source chain. This often means porting or re-implementing cryptographic verification logic, such as Ethereum's Merkle-Patricia Trie proofs for a Solana program.
Key technical decisions include choosing a unidirectional vs. bidirectional lock-and-mint model, selecting a consensus mechanism for your relayer network (often a multi-signature wallet or a decentralized oracle network), and defining the failure handling and slashing conditions. For example, a bridge to Bitcoin might lock BTC in a multi-sig Taproot address and mint a wrapped wBTC representation on an EVM chain. The verifier on the EVM side must be able to validate Bitcoin SPV proofs, requiring a Bitcoin light client implementation in Solidity. Performance considerations, such as finality times on the source chain, directly impact the user experience and security guarantees of the bridge.
Security is paramount. You must audit the entire message flow for validation logic bugs, signature verification errors, and economic attack vectors like censorship. Using established libraries like the IBC core for Cosmos or the wormhole-core SDK can reduce risk. Always implement a pause mechanism and a clear upgrade path for your contracts and programs. Testing should involve forked mainnet environments of both chains to simulate real-world conditions. The end goal is a bridge that is not only functional but also trust-minimized, where users do not need to rely on the bridge operators' honesty for the security of their funds.
Prerequisites
Before designing a payment bridge for a non-EVM chain, you must establish a robust technical and conceptual foundation. This involves understanding the target chain's architecture, selecting a secure bridging model, and preparing the necessary development environment.
The first prerequisite is a deep technical understanding of the target non-EVM chain. You must analyze its consensus mechanism (e.g., Tendermint, Narwhal-Bullshark), transaction model (UTXO vs. account-based), native smart contract language (e.g., Move, Clarity, Solidity with CosmWasm), and signature schemes. For a payment bridge, you need to know how to programmatically generate addresses, sign and broadcast transactions, and query the chain's state. Tools like the chain's official SDK (e.g., Cosmos SDK, Aptos SDK, Sui Move) and a local testnet node are essential for development and testing.
Next, you must select a bridging architecture. The two primary models are lock-and-mint and liquidity network. A lock-and-mint bridge, like those used by Wormhole or Axelar, locks assets on the source chain and mints wrapped representations on the destination. This requires deploying and securing a verifier network (oracles, validators, light clients) to attest to events. A liquidity network, like a Connext-style bridge, uses liquidity pools on both chains and atomic swaps, minimizing custodial risk but requiring deep liquidity. Your choice dictates the security model, complexity, and economic incentives.
Security is the paramount concern. You must design for the trust assumptions of your chosen model. If using a validator set, you need a decentralized and economically bonded group. If using light clients, you must implement the chain's consensus and state verification logic correctly. Common vulnerabilities include improper event verification, signature malleability, and reorg handling. A thorough audit of both the bridge contracts and the off-chain relayer/verifier software is non-negotiable before mainnet deployment.
Finally, set up your development toolchain. For the non-EVM side, this includes the chain's CLI, SDK, and a local development network (e.g., aptos-node, sui-test-validator). For the EVM side (if connecting to one), you'll need Foundry or Hardhat. The bridge's core components typically include: a smart contract or module on the non-EVM chain to lock/unlock assets, a verifier service (in Go, Rust, etc.) to observe and attest to events, and a relayer to submit transactions. Planning this infrastructure early is critical for a coherent architecture.
How to Architect a Payment Bridge for Non-EVM Chain Compatibility
Building a payment bridge to connect EVM chains with non-EVM ecosystems like Solana, Cosmos, or Bitcoin requires solving fundamental architectural problems around consensus, state representation, and message passing.
The primary challenge is consensus verification. An EVM bridge can easily verify Ethereum's proof-of-stake consensus, but it cannot natively validate a foreign consensus mechanism like Solana's Proof of History or Cosmos' Tendermint. Your architecture must incorporate light clients or relay networks that can attest to the validity of blocks and transactions on the non-EVM chain. For example, a bridge from Ethereum to Solana needs a verifier contract on Ethereum that can check Solana's Ed25519 signatures and the cryptographic commitments in its block headers, which is computationally expensive and requires custom cryptographic precompiles.
A related issue is state representation and proof generation. EVM chains use Merkle-Patricia Tries for state proofs, while others use different structures: Solana uses a Merkle tree of accounts, and Cosmos SDK chains use IAVL trees. Your bridge's messaging layer must standardize on a universal proof format, like ICS-23 from the Inter-Blockchain Communication (IBC) protocol, or implement chain-specific proof verifiers. This often means building separate Vault and Mint/Burn modules for each non-EVM chain to handle the locking of assets and the creation of synthetic representations.
Finally, asynchronous finality creates timing and security risks. EVM chains have probabilistic finality, while chains like Cosmos have instant, deterministic finality. A bridge must wait for the source chain's finality before releasing funds on the destination, which can lead to long delays if not optimized. Architectures often use an optimistic approach with a challenge period or a zk-based approach with validity proofs to speed up transfers. You must also design for sovereign chain halts; if a non-EVM chain stops producing blocks, your bridge's economic security and liveness guarantees must be clearly defined to prevent frozen funds.
Chain Model Comparison for Bridge Design
Key architectural differences between UTXO, Account, and Hybrid chain models that impact bridge design decisions.
| Architectural Feature | UTXO Model (e.g., Bitcoin, Cardano) | Account Model (e.g., Ethereum, BNB Chain) | Hybrid Model (e.g., Aptos, Sui) |
|---|---|---|---|
State Representation | Unspent transaction outputs (UTXOs) | Global account balances and storage | Objects with ownership and dynamic fields |
Transaction Parallelizability | |||
Native Asset Support | First-class (native tokens) | Requires smart contracts (ERC-20) | First-class (native objects) |
State Proof Complexity | Merkle tree of UTXO set | Merkle-Patricia Trie of accounts | Authenticated data structures (e.g., Sparse Merkle Tree) |
Typical Finality | Probabilistic (Nakamoto) | Deterministic (Gasper, Tendermint) | Deterministic (HotStuff derivatives) |
Bridge Light Client Cost | High (verifies full block headers) | Moderate (verifies consensus and state proofs) | Variable (optimized for object proofs) |
Cross-Chain Message Pattern | SPV proofs for transaction inclusion | Storage proofs for contract state | Object ownership and capability proofs |
How to Architect a Payment Bridge for Non-EVM Chain Compatibility
Designing a secure and efficient bridge for non-EVM chains requires specific architectural patterns to handle diverse consensus models, transaction formats, and state proofs.
A payment bridge for non-EVM chains must first establish a universal message format that abstracts away chain-specific details. This format defines a standard for representing asset transfers, including sender, receiver, amount, and a unique identifier. The bridge's core components—a relayer network, verification layer, and liquidity pools—interact using this format. For non-EVM chains like Solana, Cosmos, or Bitcoin, the challenge is translating their native transaction structures (e.g., UTXOs, WASM smart contracts) into this canonical message format for processing and verification on the destination chain.
The verification layer is the most critical component, responsible for validating the legitimacy of transactions originating on the source chain. For non-EVM chains, you cannot rely on Ethereum's native light client proofs. Instead, architectures typically use one of three patterns: a multi-signature committee of trusted validators observing the source chain, light client bridges that verify cryptographic headers and Merkle proofs (e.g., using IBC for Cosmos or Bitcoin SPV proofs), or zero-knowledge proofs (zk-SNARKs/STARKs) that generate succinct validity proofs for state transitions. The choice depends on the desired trust assumptions and the source chain's capability to generate efficient proofs.
On the destination chain, a verifier contract or module must be deployed to check the provided proofs. For EVM chains, this is a smart contract. For other ecosystems, it could be a CosmWasm contract on Cosmos or a native program on Solana. This contract decodes the universal message and executes the minting of wrapped assets or releases of liquidity. A key consideration is finality; you must account for the source chain's probabilistic finality (e.g., Bitcoin) versus instant finality (e.g., Cosmos with Tendermint), implementing appropriate confirmation wait times and challenge periods in the verifier logic.
To handle asset custody and liquidity, architects choose between locked/minted and liquidity network models. In a locked model, assets are custodied on the source chain and representative tokens are minted on the destination. For non-EVM source chains without smart contracts, this requires a secure, audited custodian script or multi-signature address. The liquidity network model uses pools of assets on both sides, facilitated by professional market makers. This avoids minting/burning but requires sophisticated rebalancing algorithms, especially when bridging between chains with different block times and fee markets.
Implementing the relayer layer involves building off-chain agents that monitor events or transactions on both chains. For a Solana-to-Ethereum bridge, a relayer would watch the Solana program logs for deposit events, fetch the required Merkle proof via an RPC, and submit the proof and message to the Ethereum verifier contract. These relayers must be fault-tolerant and potentially decentralized to avoid a single point of failure. Use frameworks like Axelar's General Message Passing or IBC for established protocols, or build custom agents using chain-specific SDKs (Solana Web3.js, Cosmos.js, Bitcoin RPC).
Security auditing and monitoring are paramount. Conduct formal verification of the core cryptographic verifications, especially for light client or zk-proof code. Implement extensive monitoring for chain reorganizations (reorgs) on the source chain, as these can invalidate previously relayed proofs. Set up alerting for validator set changes in committee-based bridges and monitor liquidity pool health. Always start with a canonical token bridge for a single asset before generalizing to arbitrary message passing, as the attack surface for value transfer is more contained and easier to secure initially.
Core Bridge Components
Building a payment bridge for non-EVM chains requires specialized components to handle consensus, message passing, and state verification. This guide covers the essential building blocks.
Implementing the Cross-Chain Messaging Layer
This guide details the core components and design patterns for building a secure payment bridge that connects to non-EVM blockchains like Solana, Cosmos, or Bitcoin.
A cross-chain messaging layer is the communication backbone of any bridge. Its primary function is to securely relay state information—like proof of a payment—from a source chain to a destination chain. For non-EVM compatibility, you cannot rely on the Ethereum Virtual Machine's (EVM) native message-passing or precompiles. Instead, you must design a generic relayer network and a verification module on the destination side. This module must be capable of validating proofs native to the source chain's consensus mechanism, whether it's Solana's Proof of History, Cosmos' Tendermint light client, or Bitcoin's SPV proofs.
The architecture typically involves three core off-chain components: Watchers, Relayers, and Provers. Watchers monitor events on both chains. When a user locks funds on Chain A, a Watcher picks up the event. A Relayer then forwards the transaction data to the destination chain. The most critical component is the Prover, which generates a cryptographic proof (e.g., a Merkle proof) that the transaction is finalized on the source chain. This proof is what the on-chain Verifier Contract on Chain B will validate before releasing funds. For non-EVM chains acting as the destination, this verifier must be written in the chain's native smart contract language, like Solana's Rust or Cosmos' CosmWasm.
Implementing the verifier for a non-EVM destination requires integrating a light client. This is a smart contract that maintains a minimal, up-to-date header chain of the source blockchain. It verifies that the submitted block header is part of the canonical chain and then checks the Merkle inclusion proof against that header. On Solana, you would implement this as a program using the solana_program crate, storing the latest source chain headers in an account. The verification function would use these headers to validate the proof. The IBC protocol on Cosmos is a premier example of this light client model in production.
Security considerations are paramount. You must guard against data availability attacks where a relayer withholds proof data. Implementing a challenge period or using a decentralized oracle network like Chainlink CCIP can mitigate this. Furthermore, the economic security of the relayers should be modeled; slashing bonds for malicious behavior is a common pattern. Always audit the light client logic extensively, as it becomes the single point of trust for the bridge. A bug in the header validation can lead to the minting of illegitimate funds on the destination chain.
For developers, a practical first step is to use a framework like the Axelar General Message Passing (GMP) or LayerZero's Omnichain Fungible Token (OFT) standard. These provide generalized messaging primitives that can be adapted for non-EVM endpoints. However, for a custom implementation, your tech stack will involve: the source chain's SDK (e.g., @solana/web3.js), the destination chain's contract environment, and a relayer service (often in Go or Rust) that listens and submits transactions.
How to Architect a Payment Bridge for Non-EVM Chain Compatibility
Building a cross-chain payment bridge to a non-EVM chain like Solana, Cosmos, or Bitcoin requires a fundamentally different architectural approach than EVM-to-EVM bridging. This guide covers the core security models and economic incentives needed for a robust system.
The primary architectural decision is selecting a bridging security model. For non-EVM chains, you typically cannot rely on a single, unified smart contract system. The three main models are: - Light Client & Relays: A verifier contract on the source chain validates block headers from the destination chain, enabling trust-minimized verification of transactions. This is complex but offers high security, used by projects like IBC. - Multi-Party Computation (MPC) or Threshold Signature Schemes (TSS): A decentralized network of signers collectively manages assets in a multi-sig wallet on the destination chain. This is more practical for many chains but introduces a social trust assumption. - External Validators/Oracles: A permissioned or permissionless set of nodes observes and attests to events. This is the simplest to implement but has the highest trust assumptions, common in early-stage bridges.
Economic security is paramount, especially for validator-based models. You must design incentives that make collusion more expensive than honest participation. This involves: - Bonding/Slashing: Validators must stake a substantial bond (e.g., in the bridge's native token or the underlying asset) that can be slashed for malicious behavior. The total bonded value should significantly exceed the bridge's daily transfer volume. - Fraud Proofs and Challenge Periods: Implement a window where anyone can submit cryptographic proof of invalid state transitions. Successful challenges should result in slashing the malicious validator's bond and rewarding the challenger. - Fee Distribution: Bridge fees should reward honest validators and fund a insurance or treasury pool to cover potential exploits, creating a sustainable economic loop.
On the technical implementation side, you'll need a modular message passing protocol. Since you can't call a Solana or Cosmos smart contract directly from Ethereum, you use a message layer. The standard flow is: 1. Lock/Burn assets on the source chain (e.g., Ethereum). 2. Emit an event with a standardized message (sender, recipient, amount, destination chain ID). 3. Relayers (off-chain actors) pick up the event and submit the message, along with a cryptographic proof, to a verifier contract on the destination chain. 4. The verifier validates the proof against a known source chain state. 5. Upon successful verification, a mint/unlock transaction is executed on the destination chain.
For the verifier on the non-EVM side, you must implement chain-specific logic. On Solana, you would write a program in Rust using the solana-program crate to verify Merkle-Patricia proofs from Ethereum. In the Cosmos ecosystem, you'd build an IBC light client as a Cosmos SDK module in Go. On Bitcoin, you might use a Script to check simple SPV proofs. The key is that the verification logic must be deterministic and gas-efficient (or compute-unit efficient) as it will be run repeatedly. Thoroughly audit this core verification code, as it is the single point of failure for the bridge's security.
Finally, plan for operational security and upgradeability. Use a timelock-controlled multisig for administrative functions, but ensure user funds are held in non-upgradable, audited custody contracts (like the MPC wallet or a lock/mint module). Have a clear and transparent governance process for adding new destination chains or validators. Document the bridge's exact trust assumptions—users need to know if they are trusting a 8-of-15 MPC network or a mathematically verifiable light client. This architectural clarity is as critical as the code itself for long-term security and adoption.
Resources and Tools
Tools, protocols, and reference materials for designing a payment bridge that supports non-EVM chains such as Solana, Cosmos SDK chains, and Substrate-based networks.
Asset Representation and Wrapping Models
Non-EVM payment bridges must standardize how value is represented across chains with incompatible token standards.
Common models:
- Lock-and-mint: lock native assets on source chain, mint wrapped tokens on destination
- Burn-and-mint: burn wrapped tokens when returning liquidity
- Liquidity pools: pre-funded pools on each chain to avoid minting
Examples by ecosystem:
- Solana SPL tokens mapped to ERC-20 equivalents
- Cosmos SDK coins identified by
denomstrings and IBC trace paths - Substrate assets using MultiLocation and AssetId
Implementation details:
- Maintain a canonical asset registry shared by relayers
- Track decimals carefully; Solana commonly uses 9 decimals, Cosmos chains vary
- Define withdrawal limits and daily caps per asset
Incorrect asset modeling is a leading cause of bridge insolvencies.
Relayers, Oracles, and Off-Chain Infrastructure
Most non-EVM bridges depend on off-chain actors to observe events and submit proofs or messages to destination chains.
Core components:
- Relayers: listen for source-chain events and deliver messages
- Oracles: attest to block headers, finality, or state roots
- Indexers: normalize data from Solana RPC, Tendermint RPC, or Substrate nodes
Operational best practices:
- Run multiple independent relayers to reduce liveness risk
- Separate message observation from submission keys
- Rate-limit submissions to avoid fee spikes on Solana or Cosmos
Some protocols abstract this layer, while others require teams to operate their own infrastructure. Payment bridges handling real value should treat relayers as production-grade systems with monitoring, alerts, and key rotation.
Shared Security and Trust Models
Security assumptions differ sharply between EVM and non-EVM bridges and must be explicit in the architecture.
Common trust models:
- Validator set verification: IBC-style light clients verify consensus directly
- Multi-sig guardians: a fixed or rotating signer set authorizes messages
- Economic security: bonded validators or staked relayers slashable for faults
Threats specific to payment bridges:
- Replay attacks due to mismatched nonce handling
- Finality mismatches causing double-spends
- Guardian or relayer key compromise
Mitigations:
- Enforce per-message nonces and expiry windows
- Delay large payments until source-chain finality is reached
- Cap transfer sizes per time window
Security reviews should include both on-chain programs and off-chain processes.
Frequently Asked Questions
Common technical questions and solutions for developers building payment bridges to connect non-EVM chains with EVM ecosystems.
Two primary patterns dominate non-EVM bridge architecture: Lock-and-Mint and Liquidity Network models.
Lock-and-Mint (Canonical Bridge): Assets are locked in a vault on the source chain (e.g., Solana, Cosmos) and a wrapped representation (like wSOL on Ethereum) is minted on the destination chain. This requires a verifier network (validators or light clients) to attest to the lock event. It's best for high-value, canonical asset transfers.
Liquidity Network (Liquidity Bridge): Uses liquidity pools on both chains. A user swaps an asset on Chain A, a relayer provides the asset on Chain B, and the original is later reconciled. This is faster and uses atomic swaps or HTLCs but requires deep liquidity. Projects like Wormhole use the first model; LayerZero often enables the second.