Skip to content

Integrations overview

ProveKit ships one proof pipeline and several runtimes that drive it. Pick by where verification needs to live and what host language you’re shipping in.

The v1.0.2 .pkp is generated once per circuit. These are the tested ways to use it:

Terminal window
provekit-cli prove --prover app.pkp --input Prover.toml --out proof.np

Verification usually lives in a backend, a contract gateway, or an HTTP service. See the Rust guide for the tested verify-side call.

tooling/verifier-server exposes an Axum HTTP service:

RouteMethodPurpose
/healthGETServer health, version, and timestamp.
/verifyPOSTVerify a JSON proof using downloaded artifacts.

A verification request looks like:

{
"pkvUrl": "https://example.com/verifier.pkv",
"r1csUrl": "https://example.com/r1cs.json",
"pkUrl": "https://example.com/proving_key.bin",
"vkUrl": "https://example.com/verification_key.bin",
"np": { "proof": "NoirProof JSON fields" },
"verificationParams": { "maxVerificationTime": 300 },
"metadata": { "requestId": "request-123" }
}

pkUrl, vkUrl, verificationParams, and metadata are optional. Artifact URLs must use HTTP or HTTPS. The server defaults to one concurrent verification (VERIFIER_SEMAPHORE_LIMIT=1) and a 10 MB request body limit; tune both through the VERIFIER_* environment variables documented in tooling/verifier-server/README.md.

Use generate-gnark-inputs to bridge a ProveKit prover key and proof into the Go/gnark recursive verifier:

Terminal window
provekit-cli generate-gnark-inputs \
artifacts/app.pkp \
artifacts/proof.np \
--params artifacts/params_for_recursive_verifier \
--r1cs artifacts/r1cs.json

Then run the Go CLI or server from recursive-verifier/ with those files. If you omit the recursive proving and verifying keys, the Go tool can generate them for development; production deployments should manage trusted-setup keys explicitly.

The platform pages cover the supported API paths, default artifact flow, and build constraints for each host.

  • Rust: direct crate integration for services, tools, and tests.
  • JS / TypeScript: v1.0.2 WASM and SDK compatibility status.
  • Swift: iOS FFI and SDK compatibility status.
  • Kotlin: Android FFI and SDK compatibility status.

Before shipping any integration, walk through the Production checklist.