zk-btc-sdk: Plug-and-play dev tool to compile, deploy & verify ZK proofs on Bitcoin EVM chains.
zk-btc-sdk is a plug-and-play developer tool that makes it effortless to bring Zero-Knowledge Proofs (ZKPs) to Bitcoin-based EVM chains.
Traditionally, building ZK-powered applications is painful and time-consuming. Developers need to:
zk-btc-sdk abstracts away all of this complexity into a seamless CLI + SDK workflow. With just three simple commands, developers can:
Compile Circuits zk-btc-sdk compile circuit.circom → Outputs .wasm, .zkey, and verifier.sol.
Test Circuits before deploying zk-btc-sdk test circuit input.json → Tests the circuit using input in input.json and files generated while compiling → Runs groth16 for provided input & locally verifies it
Deploy Verifier Contracts zk-btc-sdk deploy <path-to-generated-folder> <PVT_KEY> --rootstock zk-btc-sdk deploy <path-to-generated-folder> <PVT_KEY> --citrea → One command deployment to Bitcoin EVM chains with no manual setup.
Verify Proofs Automatically verifyProof() function → Automatically generates a proof, extracts public signals, and calls the deployed verifier — no ABI or address needed.
Why zk-btc-sdk?
Tech Stack
Utility & Use Cases
Identity & Privacy → Prove your age, citizenship, or credentials without revealing private data. DeFi Compliance → Add KYC/AML checks via ZK proofs, ensuring regulatory compliance while preserving user privacy. Gaming & Reputation → Verify player stats, achievements, or credentials without leaking sensitive info. Cross-chain Bridges → Use ZKPs to prove events across Bitcoin and EVM chains securely.
Instead of spending weeks learning elliptic curve math, smart contract verification, or blockchain deployment, a developer can now integrate real ZK-powered features in minutes.
Vision zk-btc-sdk aims to be the Hardhat for Zero-Knowledge : a simple, developer-friendly toolkit that makes ZK applications accessible on Bitcoin’s growing EVM ecosystem.
By lowering the barrier to entry, zk-btc-sdk enables developers to build privacy-preserving dApps, identity solutions, compliance tools, and more — on the most secure blockchain base layer: Bitcoin.
zk-btc-sdk is built as a Node.js CLI + SDK that abstracts the entire Zero-Knowledge development workflow into three simple commands: compile, deploy, and verify.
At its core, it integrates several technologies:
Circom - used to define the ZK circuits. When a developer runs zk-btc-sdk compile, we invoke Circom to generate the .r1cs constraint system, .wasm witness generator, and intermediate artifacts.
SnarkJS (Groth16) - we run the trusted setup, generate proving/verification keys, and output the .zkey file. SnarkJS also powers proof generation and extraction of public signals during the verify step.
Solidity Verifiers - we export verifier.sol directly from SnarkJS and package it as a deployable contract. Instead of requiring developers to manage ABI and contract addresses, our SDK handles it internally.
Bitcoin EVM Deployment - for deployment, the CLI integrates with RPC endpoints of Rootstock, Citrea, and Botanix. A simple flag like --rootstock chooses the correct chain configuration. We automated the deployment so a verifier contract can go live in one command, using the developer’s private key.
Proof Verification Abstraction - when a developer runs zk-btc-sdk verify input.json, the SDK automatically: Generates a proof with the .wasm and .zkey.
Hacky / Notable Engineering Bits
Partner Tech Benefits

