Try submitting a proof to UPA!


A browser wallet containing Sepolia ETH. We recommend using a Metamask wallet. You may fund the wallet from a faucet from

Submit a proof

Click the "Submit Proof" button to submit a proof.

  • First a demo app solution and proof is generated in your browser.

  • Then the proof is submitted to UPA. You will be prompted by your wallet software to confirm this transaction. Once submission is complete, you may click the Etherscan link to view the transaction.

  • While the proof is being aggregated you may click "View on" to view its status in our proof explorer.

  • Finally, you can submit the solution to the demo app. You will be prompted by your wallet software again to confirm this transaction. Once the transaction is confirmed you may click the link to see it on Etherscan. At this point you have completed the demo. Well done!

Option 2: Sending a demo app proof via CLI


  • yarn and Node 20+. These may be installed as follows:

# nvm
curl -o- | bash
source ~/.bashrc # Update bash terminal so we can use the command `nvm`.

# npm
nvm install 20

# yarn
corepack enable
yarn set version stable
yarn install

Submit a proof

git clone && cd demo-app

# Build demo-app
yarn build
# Make sure binary is placed in .bin

# Set up demo-app commands in shell
source scripts/

# Use upa local to generate a key
upa local ethkeygen --keyfile keyfilename.key
# Submit a solution along with a proof
demo-app submit --keyfile keyfilename.key

The last command will print a link to the proof's status on NEBRA's proof explorer. Your proof should be either verified or pending verification.


Try integrating your own ZK app with NEBRA UPA!

Last updated