hyperbridge core

Blockchain subprocessor

Initializing state machine client

Decoding block witness

Re-executing blocks

Checking state root matches

Successfully verified blocks

State Proof Verification

Initializing merkle-patricia trie verifier

loading EIP-1168 Proofs

Traversing the Partial Trie

Reached leaf nodes

Extracting values

Successfully verified state proof

Initializing consensus client

Decoding consensus proof

Checking for super majority participation

Waiting for challenge period

Successfully verified consensus proof

Consensus processing Unit

Cryptographically secure cross-chain interoperability

Powered by industry leading, zero-knowledge cryptography. Secured by Polkadot.

Browse our research

UTILIZING EQUATIONS _

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

n + y n = z n x^n + y^n = z^n xn+yn=zn for any integer n > 2 n>2 n>2.

(n ≥ 5) and PSL2(Fp) (p ≥ 5) = (C ≥ 5) and PSL2(FA) (p ≥ 0)

2. 6 ( ) 2 ( ) 6 ( ) ( ) 1 1 1 = − ≥ − = − × ∑
c(G5 ) = 4, c(Gi) = c(Gi−1 + vi) = 4

2. 6 ( ) 2 ( ) 6 ( ) ( ) 1 1 1 = − ≥ − = − × ∑
c(G5 ) = 4, c(Gi) = c(Gi−1 + vi) = 4

2. 6 ( ) 2 ( ) 6 ( ) ( ) 1 1 1 = − ≥ − = − × ∑
c(G5 ) = 4, c(Gi) = c(Gi−1 + vi) = 4

2. 6 ( ) 2 ( ) 6 ( ) ( ) 1 1 1 = − ≥ − = − × ∑
c(G5 ) = 4, c(Gi) = c(Gi−1 + vi) = 4

2. 6 ( ) 2 ( ) 6 ( ) ( ) 1 1 1 = − ≥ − = − × ∑
c(G5 ) = 4, c(Gi) = c(Gi−1 + vi) = 4

Connected to all your favorite networks

HYPERBRIDGE

POLYGON

BNB

base

optimism

eth

COMING SOON

Arbitrium

Arbitrium

eth

COMING SOON

optimism

base

BNB

POLYGON

Permissionless Relayers

Hyperbridge's industry leading architecture allows anyone to permissionlessly relay cross-chain messages and be fully incentivized to do so.

Become a Relayer

RELAYER

Applications

State Proof Queries

Read on-chain data securely verified by unforgeable state proofs

Cross Chain Governance

Manage your applications across multiple chains by broadcasting governance actions through hyperbridge

DeFi

Hyperbridge unlocks new DeFi products like cross-chain liquid staking, dexes, native token bridging, cross-chain lending and more

Products powered by Hyperbridge

Hyperbridge enables builders for the first time build mission critical cross-chain applications secured by cryptographic proofs of consensus

Gateway

Become Unbounded.

Stealth

Classified

Stealth

Classified

Stealth

Classified

Start sending cross-chain messages in seconds

The ISMP SDK for solidity and wasm smart contract environments make building interoperable applications a breeze.

Get Started
  • 1// SPDX-License-Identifier: UNLICENSED
  • 2pragma solidity 0.8.17;
  • 3
  • 4import {PostRequest} from "ismp/Message.sol";
  • 5import {IDispatcher, DispatchPost} from "ismp/IDispatcher.sol";
  • 6import {BaseIsmpModule} from "ismp/IIsmpModule.sol";
  • 7import {StateMachine} from "ismp/StateMachine.sol";
  • 8
  • 9// An example contract that shows how to use Hyperbridge
  • 10// for secure cross-chain message passing. This simply sends
  • 11// utf-8 encoded strings to be emitted as an event on arbitrum.
  • 12contract CrossChainHelloWorld is BaseIsmpModule {
  • 13 // Emitted when we receive a cross-chain message
  • 14 event PostReceived(string message);
  • 15
  • 16 // Emitted when our requests time out
  • 17 event PostRequestTimedOut(string message);
  • 18
  • 19 // Send a simple cross-chain message to another chain
  • 20 // secured by consensus & state proofs™.
  • 21 function send() public {
  • 22 DispatchPost memory request = DispatchPost({
  • 23 // the destination chain
  • 24 dest: StateMachine.arbitrum(),
  • 25 // the destination contract. In this case, the same contract on arbitrum.
  • 26 to: abi.encodePacked(address(this)),
  • 27 // Your message to the destination contract
  • 28 body: bytes.concat("Hello from ", StateMachine.optimism()),
  • 29 // request timeout in seconds
  • 30 timeout: 1 * 60 * 60,
  • 31 // how much is offered to the relayer for message delivery in DAI
  • 32 fee: 1 * 1e18,
  • 33 // who should pay for messaging fees?
  • 34 payer: msg.sender
  • 35 });
  • 36
  • 37 // Your message is now on it's way
  • 38 IDispatcher(getLocalHost()).dispatch(request);
  • 39 }
  • 40
  • 41// Called by hyperbridge on your contract to notify
  • 42// it of a new cross-chain message.
  • 43function onAccept(PostRequest calldata request) external override onlyIsmpHost {
  • 44 // You can authenticate requests by the sending contract
  • 45 // or even it's source chain.
  • 46 require(
  • 47 request.from.equals(abi.encodePacked(address(this))),
  • 48 "Unauthorized request: Only accept requests from CrossChainHelloWorld"
  • 49 );
  • 50
  • 51 // This is where you'd do something useful with the message.
  • 52 emit PostReceived(string(request.body));
  • 53 }
  • 54
  • 55 // Called by hyperbridge on your contract to notify
  • 56 // it of a now timed-out request.
  • 57 function onPostRequestTimeout(PostRequest memory request) external override onlyIsmpHost {
  • 58 // Here you can revert any state changes you made
  • 59 // before dispatching the request.
  • 60 emit PostRequestTimedOut(string(request.body));
  • 61 }
  • 62}
  • 63