Polkassembly Logo

Create Pencil IconCreate
Chat with KlaraComing Soon
OpenGov
View All Discussion

PolkaZK Verifier SDK Proposal {Post-AssetHub Hackathon Curation}

userShankar_Warang
3 months ago
PolkaVM
ZK
SDK

PolkaZK Verifier SDK

Overview

PolkaZK Verifier SDK is a developer-friendly Zero-Knowledge toolkit that eliminates the complexity of zkSNARK implementation by providing a one-command solution for Circom circuit compilation, Groth16 trusted setup, and verifier smart contract deployment on PolkaVM-compatible chains. This SDK enables developers to integrate privacy-preserving zero-knowledge proofs into their applications with minimal to no cryptographic expertise required.

The team recently won first prize at the Polkadot AssetHub Hackathon in Goa for this project's MVP. The SDK suite is built specifically utilising the PolkaVM's advantages over standard EVMs and EVM forks. The platform transforms complex zkSNARK workflows (typically requiring deep knowledge of Circom, SnarkJS, and Groth16 trusted setup ceremonies) into simple CLI commands and JavaScript function calls, making zero-knowledge technology accessible to mainstream developers.

Why Kusama?

  • Kusama’s new alignment with ZK innovations makes this SDK a perfect fit for Kusama.
  • PolkaVM is ready to use on the Kusama AssetHub.
  • The SDK is not only usable for the Polkadot ecosystem developers, but also for the web2 developers who just want to generate as well as verify zkProofs in a decentralised manner without the need of them going through the vast web3 learning curve.

About PolkaZK Verifier SDK

zk-polka-sdk introduces a powerful, frictionless and developer-friendly Zero-Knowledge Proof (ZKP) abstraction layer tailored for all kinds of developers. It integrates the industry-standard Circom and SnarkJS stack to allow developers to compile circuits, generate proofs, and deploy Solidity verifier contracts directly onto PolkaVM-compatible parachains, all with a single command/function call.

Technical Specifications: PolkaZK Verifier SDK: Tech Specifications 👈

Target audience

  • dApp developers building on PolkaVM or Substrate-based chains
  • Parachain teams looking to enable private logic or compliance (e.g., age verification, KYC-gated access)
  • Frontend and UI engineers integrating on-chain verifiers with zero-knowledge backend logic
  • Hackathon builders and early-stage startups
  • Ecosystem educators and researchers
  • Web2 developers looking for plug-n-play SDK for zkProofs

Importance

  • Provides fully on-chain ZK workflows which EVMs or equivalent forks are just incapable due to the standard code/blob size limit.
  • Provides a high-level, user-friendly SDK that wraps the low-level Circom + SnarkJS toolchain.
  • Simplifies complex ZK workflows (compilation → trusted setup → proof → verifier → on-chain verification).
  • Eliminates the need for deep cryptographic or protocol knowledge to use ZK in production.
  • Enables developers to create privacy-first apps without ever writing Solidity.

Impact

  • Solution/suite built on the real-world feedback from the hackathon participants struggling to integrate Circom/SnarkJS workflows.
  • Developer discussions across Polkadot Forum and Substrate StackExchange emphasizing the lack of plug-and-play ZK tooling.
  • A comparative gap in documentation and tooling for Circom/SnarkJS in non-EVM environments.
  • Observed limitations of ZK projects in other ecosystems; most are either closed, highly abstracted, or coupled tightly to their L2 protocols.
  • High interest in use cases like ZK-based identity, voting, and selective disclosure, but limited tooling support to implement them.

Development Roadmap

Overview

  • Estimated Duration: 3 - 4 months (77 working days, 40 hours per week of development commitment)
  • Full-Time Equivalent (FTE): 1.3 FTE
  • Total Costs: $49,440 USD

Phase 1: Core SDK Foundation (Duration: 6 weeks)

NumberDeliverableSpecification
0a.LicenseMIT License maintained across all components.
0b.DocumentationComprehensive inline documentation and step-by-step tutorial covering circuit compilation, proof generation, and verification processes. Documentation will include API references, troubleshooting guides, and integration examples.
0c.Testing and Testing GuideUnit tests covering all core functions with >90% code coverage. Test suite will include circuit compilation tests, proof generation/verification tests, and CLI functionality tests. Guide will detail test execution and CI/CD setup.
0d.DockerDockerfile providing containerized environment with all dependencies (Circom, SnarkJS, Node.js) pre-configured for immediate SDK usage and testing.
0e.ArticleTechnical article explaining the SDK's architecture, PolkaVM integration benefits, and practical implementation guide for developers new to zero-knowledge proofs.
1.ZK Circuit Compiler (CLI)Command-line tool that compiles .circom files into .wasm, .r1cs, circuit_final.zkey, and verifier.sol files using integrated Circom v2 and SnarkJS. Supports automated trusted setup using pre-generated PTAU files.
2.Core Architecture & IntegrationFoundational TypeScript/JavaScript architecture with modular design supporting plugin-based extensions. Includes error handling, logging, and configuration management systems.
3.Proof Verifier SDK (JS/TS)JavaScript/TypeScript SDK providing generateProof() and verifyProof() functions with intuitive API design. Includes type definitions and async/await support for modern development workflows.

Phase 2: PolkaVM Integration & Production Features (Duration: 5-6 weeks)

NumberDeliverableSpecification
0a.LicenseMIT License maintained across all components.
0b.DocumentationComplete developer documentation including PolkaVM deployment guides, smart contract interaction examples, and ecosystem integration patterns.
0c.Testing and Testing GuideIntegration tests for PolkaVM compatibility, end-to-end testing scenarios, and performance benchmarks. Guide includes mainnet/testnet deployment procedures.
0d.DockerProduction-ready Docker containers with optimized builds for development and deployment environments.
0e.ArticleCase study article demonstrating real-world applications built with the SDK, highlighting privacy-preserving use cases and performance metrics.
4.PolkaVM IntegrationNative integration with PolkaVM architecture enabling seamless deployment of Solidity verifier contracts. Includes gas optimization and multi-dimensional gas metering support.
5.Solidity Verifier Contract ExportAutomated generation of optimized Solidity verifier contracts compatible with PolkaVM's RISC-V architecture. Contracts include gas-efficient verification logic and batch verification capabilities.
6.Example dApps & TemplatesProduction-ready example applications including age verification, identity proof, and anonymous voting systems. Templates provide scaffolding for common ZK use cases.
7.Documentation & Developer ToolsComprehensive developer portal with interactive tutorials, API playground, and community resources. Includes VS Code extensions and development helpers.

Budget Breakdown

ItemAmountTotal CostDescription
Core Development Team616 hours$36,960 USDFull-stack development covering CLI tools, SDK architecture, PolkaVM integration, and testing
Edgetributor SubDAO Curation208 hours$12,480 USDProject management, architecture reviews, DevOps, and quality assurance oversight {team of 6, 520 USD per member per month}
---Total$49,440 USD

Multisig details:

Address: Ga8F4epsSY8pw3f7Qdjq3T6gjtC28ZnCdHhRykNX85npSkU
Threshold: 3/4 {2 team members and 2 contributors from Edgetributor SubDAO}

Contributors involved:

  • Jatin Sahijwani:
    • https://github.com/jatinsahijwani
    • https://x.com/jatinsahijwani1
    • https://www.linkedin.com/in/jatinsahijwani/
  • Anirudh Singh Chouhan:
    • https://github.com/AnirudhSingh07
    • https://x.com/KunwarAnirudhS3
    • https://www.linkedin.com/in/anirudhsinghchouhan/

Team Code Repos:

  • https://github.com/jatinsahijwani/zk-polka-sdk
  • https://github.com/AnirudhSingh07/web3test (Implementation using the mvp)

Edgetributor SubDAO’s role:

Edgetributor SubDAO (6 contributors) will be responsible for the following key operations, corresponding to the development span of 4 months:

  • Project Management & Operations {Shankar, Gagan, Prashant}: 72 hours
  • Architecture/Design/UX reviews {Rama, Shankar, Gagan}: 64 hours
  • DevOps/ QA {Raj, Pranav}: 72 hours

{520 USD per contributor per month.}

Conclusion

We are passionate about privacy and accessibility in web3. We've seen how difficult it is for developers, especially newcomers, to use zero-knowledge proofs due to complex tooling and cryptographic knowledge requirements. Through ZK-POLKA-SDK we will democratize access to this powerful technology and make Kusama AssetHub the most developer-friendly hub for zk-based applications. By building this SDK, we aim to empower builders and attract more developers to Kusama through a seamless zk-onboarding experience.

Comments (2)

29 days ago

Hey,

In general I think the idea is great, I think it should be geared towards being an sdk for Polkavm programs.

Comments:

m1:

" Proof Verifier SDK (JS/TS) JavaScript/TypeScript SDK providing generateProof() and verifyProof() functions with intuitive API design. Includes type definitions and async/await support for modern development workflows." This should change so that you guys can provide verifyproof functions similar to what the solidity verifier generates. This should be changed so support groth16 proof verification in Polkavm.

Speaking of this setup, there is 2 problems with groth16 .circom files,

1 - Can not rely on the solidity files for some of the cryptography, for example doing poseidon hashing is very expensive and slow in solidity, porting over the needed libs for all .circom files to work out of the box should be done with polkavm modules, for example we have implemented Poseidon hashing for polkavm:

https://codeberg.org/KusamaShield/PoseidonPolkaVM

2 - We are limited on proof size since it needs to be fit into a evm payload in a user transaction so bigger more complex groth16 circuits might fail..

3 - Cant you guys automated the key generation and provide a function that takes the power of tau and appends some randomness for the trusted setup?

Milestone 2:

"Solidity verifier contracts", becuase resolc doesnt do a great job converting evm assembly, you guys should drop the solidity verifier contracts and go straight with polkavm verify proofs instead. otherwise just going to end up with extra overhead.

A polkadot bounty is currently funding a very similar sdk, can you outline the differences:

https://github.com/hashcloak/Ecosystem-Grants/blob/bb570f3ad9710d270c354b7fbd293358beb58ea1/applications/zk-ink.md

In general I think its a good idea, however I would drop the ts stuff directly and focus on making a polkavm rust compatible library that can perfom the groth16 verify proof functions

PleaseLogin to comment

Help Center

Report an Issue
Feedback
Terms and Conditions
Github

Our Services

Docs
Terms of Website
Privacy Policy

A House of Commons Initiative.

Polka Labs Private Limited 2025

All rights reserved.

Terms and ConditionsTerms of Website
Privacy Policy