Logo
Build
  • Explore Buildathon
  • Project Archive
Hack
Hack Coming Soon
  • Explore IRL Hackhouse
  • How to Qualify
  • Past Events

zkArb SDK

zkArb SDK is a developer toolkit that makes building zero-knowledge apps on Arbitrum simple and fast. It provides plug-and-play Circom circuit compilation, proof generation, and ready-to-deploy verifier contracts, so developers can focus on dApps instead of cryptography.

Videos

Description

zkarb-sdk

Write Circom. Compile. Deploy. Verify β€” all on Arbitrum.

Link to published npm library : https://www.npmjs.com/package/zkarb-sdk?activeTab=readme

Link to source code : https://github.com/jatinsahijwani/zkArb-sdk

Documentation : https://github.com/jatinsahijwani/zkArb-sdk/blob/main/README.md

A zero-setup toolkit to build, deploy, and verify ZK circuits using Circom β€” with no Web3 knowledge required.

Features

- 🧠 Write simple Circom circuits

- πŸ›  Compile to .r1cs, .wasm, .zkey, and Solidity verifier

- πŸš€ Deploy verifier to Arbitrum with one command

- βœ… Verify proofs using a single JavaScript function

- πŸ§ͺ No Web3 scripting, no ABI handling β€” fully abstracted

Installation

Install globally (recommended for CLI usage):

npm install -g zkarb-sdk

Usage

Compile Circom circuit

npx zkarb-sdk compile <path-to-your-circom-file>

This command:

- Compiles your .circom file

- Runs Groth16 trusted setup

- Outputs .r1cs, .wasm, circuit_final.zkey, and verifier.sol

- All files are saved in a folder named after your circuit (e.g., ./yourCircuit/)

Test Compiled Circom Circuit

npx zkarb-sdk test <path-to-generated-folder> <path-to-input.json>

This command:

- Tests the zk System produced by the compile command

- Uses inputs provided by the developer from input.json provided

- produces proof.json and public.json

- proof.json contains the smart contract parameters, which will be used to verify it onchain

- public.json contains human verifiable outputs and proofs

Deploy Compiled Circom Circuit

npx zkarb-sdk deploy <path-to-generated-folder> <PRIVATE_KEY_OF_WALLET>

This command:

- Compiles verifier.sol generated during compilation using solc

- Deploys the compiled binary to Arbitrum, taking fees from the provided wallet's private key

Verify ZK Proof Programmatically

You can verify a proof directly using a single function call.

const { verifyProof } = require("zkarb-sdk");

const result = await verifyProof({

input: {

// Your circuit input goes here

},

"<relative-path-to-generated-folder>",

});

console.log(result ? "βœ… Valid proof" : "❌ Invalid proof");

- You pass input (in the form of json) & Relative path to the generated folder, which was generated during compilation process

- Automatically generates the proof and public signals

- Formats the calldata for the Solidity verifier

- Calls the deployed verifier contract on Arbitrum and returns the result

# You don’t need to manually use snarkjs or interact with web3 directly β€” the SDK abstracts it all for you.

Commands Overview

| Command | Description |

|----------------------------------------------|--------------------------------------------------|

| npx zkarb-sdk compile <path-to-circuit> | Compiles the .circom file and runs Groth16 setup |

| npx zkarb-sdk test <output-folder> <path-to-input.json> | Tests the Circom logic locally using ZK Proofs |

| npx zkarb-sdk deploy <output-folder> <private-key> | Deploys the verifier contract to Arbitrum |

| verifyProof(input,"<relative-path-to-output-folder>") (programmatic only) | Generates proof and verifies it on-chain using deployed contract |

Progress During Hackathon

Completed the project end-to-end during the Buildathon, from initial concept to full implementation (0% β†’ 100%), including design, development, testing, and deployment.

Tech Stack

Web3NodeSolidityJavaScriptnpm PackageZero Knowledgegroth16Circom

Fundraising Status

No funds have been raised for this project to date. The project is currently self-funded and developed entirely by the team.

Team Leader
JJatin Sahijwani
GitHub Link
github

GitHub

https://github.com/jatinsahijwani/zkArb-sdk
Product Category
InfraOther