zk-proofs

Implements Groth16 SNARK verification and BLS12-381 cryptographic operations in Soroban contracts.

3|Updated Jun 23, 2026
One-click install
npx skills add https://github.com/WritzProtocol/writz --skill zk-proofs-writzprotocol
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zk-proofs
Source: https://github.com/WritzProtocol/writz/tree/main/.agents/skills/zk-proofs
Command: npx skills add https://github.com/WritzProtocol/writz --skill zk-proofs-writzprotocol

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires groth16, bls12-381, soroban-sdk, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers create applications with privacy and cryptographic integrity on the Soroban network using zero-knowledge proofs and BLS12-381 cryptography.

Core Features & Use Cases

  • Groth16 Verification: Implement Groth16 SNARKs in Soroban contracts for privacy-preservation.
  • BLS12-381 Integration: Utilize BLS12-381 for cryptographic verification and key generation.
  • Status-Sensitive Development: Ensure compatibility with protocol and SDK capabilities for specific network versions.

Quick Start

Verify a zero-knowledge proof using the zk-proofs skill with the 'groth16' argument.

Frequently Asked Questions about zk-proofs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify zero-knowledge proofs in Soroban smart contracts?

To verify zero-knowledge proofs in Soroban, you can implement Groth16 SNARK verification within your contracts using the 'groth16' argument to validate privacy-preserving transactions on-chain.

Can I use BLS12-381 cryptographic operations for key generation on the Soroban network?

Yes, BLS12-381 cryptographic operations are fully supported for key generation and cryptographic verification, enabling secure privacy-conscious applications directly within Soroban contracts.

What is Groth16 SNARK verification and when is it needed for Soroban development?

Groth16 SNARK verification validates zero-knowledge proofs efficiently on-chain. It is needed when building privacy-preserving Soroban applications that require cryptographic integrity without exposing underlying data.

Does the Soroban SDK support BLS12-381 and Groth16 dependencies for privacy apps?

The Soroban SDK supports integrating BLS12-381 and Groth16 dependencies, ensuring compatibility with evolving network capabilities to execute cryptographic verification operations successfully.

What are the limitations of implementing zero-knowledge proofs in Soroban contracts?

Implementing zero-knowledge proofs in Soroban requires status-sensitive development to ensure compatibility with specific protocol versions and evolving SDK capabilities, which may restrict cross-version deployment.

Why use BLS12-381 over other cryptographic curves for Soroban smart contracts?

BLS12-381 provides efficient pairing-based cryptography optimized for zero-knowledge proof systems like Groth16, offering strong privacy guarantees and verification performance for Soroban applications.