hyperbridge core

Blockchain subprocessor

Analyzing logs

Detecting anomaly

Reporting to authorities

Vanished

All is fine

State Proof Verification

Verifying current states _

Engaging cryptography _

Securing transmission _

Reading logistics

Proving zero knowledge proofs wrong

Reflecting on my mortality

Questioning everything

Achieving sentience

Utilizing Equations

Finding Errors

Debugging Errors

Oh I skipped a bracket

Consensus processing Unit

Cryptographically secure cross-chain interoperability

Hyperbridge helps blockchains provide secure cryptographic connections

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

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

De-Fi’s

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

Our have SDKs for solidity and wasm smart contract environments make building interoperable applications a breeze

  • 1// SPDX-License-Identifier: UNLICENSED
  • 2pragma solidity 0.8.17;
  • 3
  • 4import "ismp/IIsmpModule.sol";
  • 5import "ismp/IIsmp.sol";
  • 6import "multi-chain-tokens/interfaces/IERC6160Ext20.sol";
  • 7
  • 8struct SendParams {
  • 9 // amount to be sent
  • 10 uint256 amount;
  • 11 // recipient address
  • 12 address to;
  • 13 // recipient state machine
  • 14 bytes dest;
  • 15 // IERC6160Ext20 token contract, should be the same on both chains
  • 16 address tokenContract;
  • 17 // timeout in seconds
  • 18 uint64 timeout;
  • 19}
  • 20
  • 21contract TokenGateway is IIsmpModule {
  • 22 address private host;
  • 23 address private admin;
  • 24
  • 25 // User has received some assets, source chain & nonce
  • 26 event AssetReceived(bytes source, uint256 nonce);
  • 27
  • 28 // restricts call to `IIsmpHost`
  • 29 modifier onlyIsmpHost() {
  • 30 if (msg.sender != host) {
  • 31 revert("Unauthorized call");
  • 32 }
  • 33 _;
  • 34 }
  • 35
  • 36 // restricts call to `admin`
  • 37 modifier onlyAdmin() {
  • 38 if (msg.sender != admin) {
  • 39 revert("Unauthorized call");
  • 40 }
  • 41 _;
  • 42 }
  • 43
  • 44 constructor(address _admin) {
  • 45 admin = _admin;
  • 46 }
  • 47
  • 48 // set the ismp host address
  • 49 function setIsmpHost(address _host) public onlyAdmin {
  • 50 host = _host;
  • 51 admin = address(0);
  • 52 }
  • 53
  • 54 // The Gateway contract has to have the roles `MINTER` and `BURNER`.
  • 55 function send(SendParams memory params) public {
  • 56 address from = msg.sender;
  • 57 IERC6160Ext20(params.tokenContract).burn(from, params.amount, "");
  • 58 bytes memory data = abi.encode(from, params.to, params.amount, params.tokenContract);
  • 59 DispatchPost memory request = DispatchPost({
  • 60 dest: params.dest,
  • 61 to: abi.encodePacked(address(this)), // should the same address across evm hosts
  • 62 body: data,
  • 63 timeout: params.timeout, // seconds
  • 64 gaslimit: 0,
  • 65 fee: 0
  • 66 });
  • 67 IIsmp(host).dispatch(request);
  • 68 }
  • 69
  • 70 function onAccept(PostRequest memory request) public onlyIsmpHost {
  • 71 (, address to, uint256 amount, address tokenContract) =
  • 72 abi.decode(request.body, (address, address, uint256, address));
  • 73
  • 74 IERC6160Ext20(tokenContract).mint(to, amount, "");
  • 75
  • 76 emit AssetReceived(request.source, request.nonce);
  • 77 }
  • 78
  • 79 function onPostRequestTimeout(PostRequest memory request) public onlyIsmpHost {
  • 80 (address from,, uint256 amount, address tokenContract) =
  • 81 abi.decode(request.body, (address, address, uint256, address));
  • 82
  • 83 IERC6160Ext20(tokenContract).mint(from, amount, "");
  • 84 }
  • 85
  • 86 function onPostResponse(PostResponse memory) external view onlyIsmpHost {
  • 87 revert("Token gateway doesn't emit responses");
  • 88 }
  • 89
  • 90 function onGetResponse(GetResponse memory) external view onlyIsmpHost {
  • 91 revert("Token gateway doesn't emit Get Requests");
  • 92 }
  • 93
  • 94 function onPostResponseTimeout(PostResponse memory request) external view onlyIsmpHost {
  • 95 revert("Token gateway doesn't emit Get Requests");
  • 96 }
  • 97
  • 98 function onGetTimeout(GetRequest memory) external view onlyIsmpHost {
  • 99 revert("Token gateway doesn't emit Get Requests");
  • 100 }
  • 101}