Move value and data across 150+ blockchains.

VIA is a cross-chain messaging network for EVM and non-EVM chains. Your smart contracts send tokens, data, and instructions to each other. You choose who must sign each message.

Start building
chains connected
150+
messages delivered
20M+
in production
4+ years
exploits
Zero

Live on

  • Ethereum
  • Arbitrum
  • Avalanche
  • Base
  • BSC
  • Optimism
  • Polygon
  • Cardano
  • Midnight
  • Stellar
All networks

What you can build with VIA

The VIA network carries data between smart contracts on different chains. What gets built on top, whether bridges, DEXs, marketplaces, or oracle feeds, is up to the developer.

Native cross-chain assets

Tokens and NFTs that move between chains and keep one total supply.

Broadcast

Send one contract call to many chains in a single action.

Universal message passing

Send any data or contract call between supported chains.

Web2 to Web3 data

Deliver off-chain data, plain or encrypted, directly into smart contracts.

Unified dApps

Extend your app to other chains and virtual machines, so users reach it from the chain they already use.

How it works

Scroll to follow one message from Ethereum to Cardano, one step at a time.

  1. 01

    Send

    Your contract calls the VIA gateway on its own chain. A message can carry tokens, data, or a contract call.

  2. 02

    Confirm

    The message waits for the number of block confirmations you set. Each new block makes the earlier ones harder to reverse.

  3. 03

    Sign

    Signers run by VIA Labs check the message on the source chain, then sign it. You choose what else must sign.

  4. 04

    Deliver

    A relayer carries the signed message to Cardano. The gateway there checks every signature. Relayers can't change a message.

  5. 05

    Receive

    Your contract on Cardano acts on the message. Here, it adds 100 tokens to an account.

One network. 150+ chains.

When a chain connects to VIA, it joins the whole network. Contracts on any connected chain can send tokens, data, and calls to contracts on the others.

Teams build liquidity transfers, oracle and data feeds, AI agent integrations, and cross-chain tokens and apps.

See use cases

Build on EVM and non-EVM chains

Your message follows the same path on every chain. Projects deploy and own their own cross-chain contracts.

ArbitrumAvalancheBaseOptimismPolygon

EVM chains

Contracts in Solidity

Cardano

Cardano

Contracts in Aiken

Midnight

Midnight

Contracts in Compact

Stellar

Stellar

Contracts in Rust

For developers

Inherit one contract. Override one function.

  1. 1Add the VIA contracts to your project.
  2. 2Deploy your contract on each chain.
  3. 3Set which contracts can message each other.
  4. 4Send a message.
Start with Hello World

VIAHelloWorld.sol

pragma solidity ^0.8.17;import {ViaIntegrationV1} from "./ViaIntegrationV1.sol";contract VIAHelloWorld is ViaIntegrationV1 {    string public receivedMessage;    constructor() ViaIntegrationV1(msg.sender) {}    function sendHello(uint64 destChainId) external payable {        // Send a message to another chain        messageSend(destChainId, abi.encode("Hello World"), 1);    }    function messageProcess(        uint256,        uint64,        bytes32,        bytes32,        bytes memory data,        bytes memory,        uint256    ) internal override {        // Decode and store the message        receivedMessage = abi.decode(data, (string));    }}

Independently audited

Anastasia Labs, Firepan, and Hashlock audited VIA's contracts on EVM chains, Cardano, Midnight, and Stellar. Every report is public.

Tell us what you're building

Our team helps you pick your chains and a pattern, then go live.

Start building