Deep dive: one faucet to compose them all
On the Hyli testnet, the faucet is a Fruit Ninja-style game: slice oranges and get $ORANJ testnet tokens!

On the Hyli testnet, the faucet is a Fruit Ninja-style game: slice oranges and get $ORANJ testnet tokens! Every single orange or bomb you slice is zk-proven, so your $ORANJ balance is completely provable and settles on Hyli, using both Risc0 and SP1.
Read on to discover how our faucet works and why we’ve decided to mix proving schemes!
At one glance
Purpose | Get tokens to play other games |
---|---|
Proof systems | Risc0 for $ORANJ SP1 for the game |
Key Hyli feature | Proof composition |
Source code | https://github.com/hyli-org/faucet |

How the faucet works
The faucet is permissionless, limitless, decentralized, and doesn’t check anything. You slice an orange, and you get an $ORANJ on your Hyli wallet. That’s it!
Behind the scenes, it’s not much more complicated. The app includes two blobs created by two smart contracts, faucet
and oranj
.

Check out the source code of the faucet on GitHub.
What Hyli brings: proof composition
In our faucet, two contracts interact: the faucet contract and the oranj contract. The Oranj contract is written in Risc0, and we use it across the entire testnet since it’s the main « currency » of the game. But when we wanted to build the faucet, we wanted to use SP1. So we decided to use both together.
With a legacy blockchain, you’d have to write them all with the same structure or start building complex recursive verification systems inside each proof.
On Hyli, instead, we submitted two independent blobs in the same transaction: one from the faucet
contract (SP1) and one from the oranj
contract (Risc0). Hyli verifies both independently and settles the transaction only if all involved proofs are valid. This is what we mean by native proof composition: you can mix languages, proving schemes, and apps and still interact trustlessly. We didn’t need to build any recursive verification, and building the faucet was a breeze.
This is all enabled by the native proof composition on Hyli. With Hyli’s proof composition, you can write different contracts with different proving schemes, and they will still interact perfectly seamlessly without any hurdles or extra steps.
Finally, thanks to Hyli’s design, any app on the testnet can reuse this faucet without needing to fork or rewrite anything. You can just call it.
Even the simplest apps are interesting on Hyli, and they’ve never been so easy to build!
Fun fact: we started with a Cookie Clicker-type faucet. But that wasn’t orange-y enough, so we went with this Fruit Ninja clone instead. Hope you like it!
The Hyli testnet is live! You can start playing at hyli.fun with an invite code or start building and learn more about proof composition right now.