Zero-knowledge building blocks for smart contracts on Stellar.
Occulta lets a Stellar developer add zero-knowledge features to a contract without writing pairing mathematics or porting a hash function by hand. It builds directly on Stellar's native cryptographic host functions: BLS12-381 (CAP-59), BN254 (CAP-74), and Poseidon (CAP-75).
Testnet only. Unaudited. Not for real assets.
Repository Language What it does occulta-contracts Rust On-chain layer: Groth16 verification over BLS12-381 and BN254, Poseidon hashing on native host functions, incremental Merkle trees, nullifier registry, and deployable registry and shielded-pool contracts. occulta-sdk TypeScript Proving toolchain: Circom and snarkjs proof generation, byte-level encoding to Soroban types, verification-key codegen, plus the indexer and relayer services. occulta-app TypeScript Browser playground and reference applications: compile a circuit, prove in-browser, verify on-chain. The dependency chain runs one way:
occulta-contracts<-occulta-sdk<-occulta-app.The contracts define what the chain accepts. The SDK generates proofs off-chain and encodes them into exactly the byte layout the contracts expect, and runs the two services a privacy application cannot work without: an indexer, because Stellar RPC retains contract events for at most seven days, and a relayer, because a user paying their own transaction fee reveals the identity the proof was meant to hide. The app calls the SDK and contains no cryptography of its own.
The repositories are joined by committed test fixtures, which prove the Rust and TypeScript implementations of the same function agree byte for byte, and by a versioned deployments file listing contract IDs and verification-key hashes.
Private voting, anonymous allowlist claims, reusable KYC attestation, confidential payroll, proof of reserves.
Issues are scoped, sized, and documented with acceptance criteria. Every cryptographic change requires a fixture proving it matches the reference implementation. See
CONTRIBUTING.mdin each repository.Apache-2.0.
This is independent software, not affiliated with, sponsored or endorsed by the Stellar Development Foundation.