Cross-Chain Interoperability
Assets and applications span multiple blockchains. Tenzro aggregates four bridge protocols, provides cross-VM token representation across EVM, SVM, and DAML, and enables multi-chain applications to settle on a single ledger with cryptographically signed bridge messages.
The Problem
Cross-chain bridging remains one of the highest-risk operations in crypto. Bridge hacks account for billions in losses. Users must choose between multiple bridge protocols with different trust assumptions, fee structures, and supported chains — often manually comparing routes.
- ■Each bridge protocol has different security models, supported chains, and failure modes
- ■Tokens wrapped by different bridges are not fungible, fragmenting liquidity
- ■No way to represent the same asset natively across EVM, SVM, and DAML VMs
- ■Bridge messages are often unsigned, enabling relay manipulation
- ■Fee estimation requires querying each bridge individually
How Tenzro Solves It
Tenzro integrates four bridge protocols behind a unified BridgeRouter that selects the optimal route based on cost, speed, or availability. All bridge messages carry Ed25519/Secp256k1 signatures with nonce-based replay protection. The cross-VM pointer model eliminates token fragmentation entirely.
Bridge Aggregation
Four integrated bridge adapters: LayerZero V2 (omnichain messaging + OFT), Chainlink CCIP (cross-chain messaging + token transfers), deBridge DLN (intent-based swaps), and Canton (DAML enterprise). The BridgeRouter selects by cost, speed, or availability strategy.
Signed Bridge Messages
Every bridge message is signed with Ed25519 or Secp256k1 via TenzroMessage::sign() and verified with verify_signature() using tenzro-crypto. Nonce-based replay protection prevents message reuse across chains.
Cross-VM Token Pointers
The Sei V2 pointer model: wTNZO ERC-20 on EVM (at 0x7a4b...7f93), wTNZO SPL adapter on SVM, and TNZO CIP-56 holding on Canton all share the same underlying native balance. No bridge risk. No liquidity fragmentation. The CROSS_VM_BRIDGE precompile at 0x1003 handles transfers.
Live Fee Quoting
Real on-chain fee queries: LayerZero EndpointV2.quote() via eth_call, Chainlink Router.getFee() via eth_call, deBridge order-creation API, and Canton Admin API fee schedule. Static fallback only when RPC fails.
Architecture
A cross-chain transfer request is routed through the BridgeRouter, which queries all available adapters for fee quotes, selects the optimal route, signs the message, and executes the bridge transaction.
Code Example
Bridge tokens between chains and transfer across VMs:
use tenzro_sdk::TenzroClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = TenzroClient::new("https://rpc.tenzro.network");
// Get available bridge routes
let routes = client.get_bridge_routes(
"tenzro", // source chain
"ethereum", // destination chain
).await?;
// Bridge tokens via LayerZero
let bridge_tx = client.bridge_tokens(
"tenzro",
"ethereum",
"1000000000000000000000", // 1000 TNZO
&recipient_address,
Some("layerzero"), // preferred adapter
).await?;
// Cross-VM transfer (same ledger, different VM)
let cross_vm = client.cross_vm_transfer(
&token_id,
"evm", // source VM
"svm", // destination VM
"500000000000000000000",
&svm_recipient,
).await?;
// Wrap native TNZO for EVM use
let wrap = client.wrap_tnzo(
"evm",
"100000000000000000000",
).await?;
// List bridge adapters
let adapters = client.list_bridge_adapters().await?;
Ok(())
}Relevant Tools & APIs
Tenzro MCP Tools
bridge_tokensget_bridge_routeslist_bridge_adapterscross_vm_transferwrap_tnzoLayerZero MCP Tools (Port 3006)
lz_quote_feelz_send_messagelz_oft_sendlz_transfer_quotelz_stargate_quotelz_stargate_sendChainlink MCP Tools (Port 3007)
ccip_get_feeccip_send_messageccip_track_messageccip_get_supported_chainsccip_get_supported_tokens