Offshift v2 Momiji Testnet Now Live on Sepolia


Offshift’s v2 Momiji Testnet has been deployed on Ethereum’s Sepolia test network, marking the first live deployment of Offshift’s v2 code, the first true demonstration of our principle privacy tech on-chain, and the completion of the first milestone from the recently released Offshift v2 Roadmap .

This release includes support for arbitrary hidden amounts and anonymous transfers within a shared and privately verified network state. Program execution occurs within the compiled Noir circuit, and then a proof is generated in Nargo (using the UltraPLONK proving scheme). Finally, verification is performed with a Solidity verifier contract on the Sepolia network, which stores relevant state information.

Users can interact with the testnet by cloning the Momiji Sepolia repo from the Offshift GitLab and following the instructions in the documentation. In this version of the testnet, a single circuit is used to generate both deposit and withdrawal proofs.

In the deposit/batch publication, the program proves the following:

  • The UTXO commitment hashes match the information coded within, which includes the owner of the commitment, the value of the UTXO, and the asset type of the UTXO.
  • The batch of transactions and the batch oracle value, when hashed with the previous state root, lead to a valid state transition on-chain.

In the withdrawal/transfer, the program proves the following:

  • The user’s raw UTXO values match a commitment that was published under a valid state root transition.
  • The UTXO’s unique nullifier was not previously spent in another transaction.
  • The sum of the withdrawal amount and, if applicable, newly generated UTXOs matches that of the UTXOs being spent in the transaction.

The testnet application privately generates proofs of valid state transition on Sepolia, then verifies that a user’s deposit is within the global Pedersen-hashed Merkle state tree and publishes verifiable results, all without leaking any sensitive information, and allows users to to perform test transfers on Sepolia.

In this version of the testnet, users can interact with the protocol without depositing any ETH or testnet tokens, only needing testnet ETH for the transaction fee. You can get Sepolia ETH from the Alchemy faucet or any other Sepolia ETH faucet. Withdrawals will generate testnet tokens specific to this release.

The testnet contract code has been verified and is available on Etherscan below:

Technical Preview Contract

UltraVerifier Contract

If you have feedback or questions about the testnet, come by the Offshift Telegram and chat with the team, and be sure to follow Offshift on Twitter for all the latest as we build out Offshift v2.