project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4


Using Mina as an oracle while leveraging Hyperlane to transport the data to your chain of choice!


Created At

ETHGlobal Tokyo

Winner of


🏊 Mina — Pool Prize

Project Description

With the increasing number of rollups and rollup SDKs, it will become easier to deploy your own custom rollup. However, one of the problems with launching your own rollup is that you loose the support for Oracles that you would have enjoyed if you stayed in an established rollup or chain.

In order to solve this problem, we use Mina's zkOracles to fetch data from any http endpoint, for example, an ETH/USD price feed, a credit score api, etc. Now, because Mina's entire ledger history fits in a 22kb proof, we are able to verify the state of our zkOracle on an EVM chain of our choice! This approach is great for devs that want a the most trust-minimized option, but its quite expensive and inefficient to prove the same statement across many rollups multiple times.

That's why we decided to use Hyperlane in order to bridge data from a source chain to any chain that supports their permissionless deployment.

How it's Made

We first deploy a zkOracle app in Mina, which takes care of verifying data from our oracle. The retrieved state from the oracle, as well as the state of the Mina ledger are retrieved, we then compute an auxiliary proof for Mina's ledger proof and pass that and the account state to a verifier on [INSERT EVM CHAIN OF CHOICE].

Once we have the Mina verification setup deployed, we deploy the Hyperlane contracts, our contracts that connect the verifier to the Hyperlane mailbox, as well as the rest of the setup required for Hyperlane.

background image mobile

Join the mailing list

Get the latest news and updates