Skip to content
Z.U.L.U

Z.U.L.U

The first trustless Zcash relay on Starknet

Created on 2nd December 2025

Z.U.L.U

Z.U.L.U

The first trustless Zcash relay on Starknet

The problem Z.U.L.U solves

Z.U.L.U. (Zcash Unified Ledger on Starknet) - a trustless Zcash relay on Starknet

[1] the trust problem with bridges
right now, if you want to bridge Zcash to any chain, you have to trust some centralized entity (multisig, MPC, whatever). they hold your funds and you just... hope they don't rug.

solution: i built a relay that cryptographically verifies Zcash block headers directly on Starknet. no trust needed - the math proves the block is valid.

[2] zcash → starknet interoperability didn't exist
there was literally no way for a Starknet contract to know what's happening on Zcash. zero connection between these two ecosystems.

solution: now any Starknet contract can query verified Zcash blocks. this opens up:

  • trustless bridges (verify a tx was included in a block via merkle proof)
  • cross-chain dApps that react to Zcash events
  • SPV-style payment verification

[3] equihash verification was "impossible" on-chain
verifying Zcash's proof-of-work (Equihash) on-chain is too expensive. 512 blake2b hashes per block

solution: heavily optimized the blake2b and equihash implementation in Cairo to make it actually feasible. ~15 STRK per block, ~3 minutes, fully on-chain verification.

tldr: i built the infrastructure to connect Zcash's privacy chain to Starknet's scaling chain - trustlessly.

Challenges I ran into

[1] the blake2b bottleneck [biggest hurdle & thanks to Starkware ecosystem team to guide and help me out]

problem : equihash requires verifying 512 indices, each needing blake2b hash & standard implementation was far too expensive (gas wise) and slow

solution :
i optimized blake2b and equihash
a. unrolls all 12 rounds of compression function to eliminate loop overhead

b. precomputes the equihash init state constants to skips param block construction

c. first -block caching : [biggest optimization] the first 128 bytes of the header are identical for all 512 hashes, i made a the verifier to compress this chunk once , cache the state and then reuse it.
this cut compression calls by ~50%

[2] the endian-ness : little and big endian conversion
this was the most annoying problem, the internal state of the block is in little endian but my program was for big endian
and since there were many functions with different endian-ness expectation - it was really exhausting but i finally made all of it consistent

[3] frontend synchronization : so to showcase the inner working of this project , i had to show the backend's step by step logs of the multi-tx

solution : i used websockets to the frontend, giving users real time visibility to the 11 tx

Tracks Applied (5)

Cross-Chain Privacy Solutions

Z.U.L.U is a trustless zcash relay deployed on starknet - it verifies the block header and it is fully on-chain in cairo...Read More
Starknet

Starknet

Privacy Infrastructure & Developer Tools

Z.U.L.U primarily comes under Starknet's cross-chain privacy solution , it also very well deserves to come under privacy...Read More
Starknet

Starknet

Cross-Chain Privacy Solutions

Z.U.L.U. bridges zcash and starknet trustlessly - no oracles, no multisigs the relay verifies zcash's equihash proof-of...Read More
Axelar Network

Axelar Network

Privacy Infrastructure & Developer Tools

Z.U.L.U is the first trustless zcash relay on starknet - verifies equihash PoW fully on-chain in cairo and for this I m...Read More

Zcash Community Grants

General Bounty

Z.U.L.U. is the first trustless zcash relay on starknet - verifies equihash PoW fully on-chain in cairo built optimized...Read More

Project Tachyon

Discussion

Builders also viewed

See more projects on Devfolio