Skip to main content

What is Privora?

Privora is a platform that enables developers to build Fully Homomorphic Encryption (FHE) enabled applications on Solana. With Privora, your smart contracts can perform computations on encrypted data without ever decrypting it, preserving user privacy while maintaining the benefits of blockchain transparency.

Key Features

FHE Operations

Perform arithmetic and comparisons on encrypted data using TFHE (Torus FHE)

Type-Safe SDK

Rust SDK with Encrypted<T> types that prevent mixing encrypted integer sizes

Content-Addressable Store

Off-chain storage for FHE ciphertexts with on-chain hash references

Dual Encryption

User-recoverable encryption using X25519 alongside TFHE

Use Cases

Privora enables privacy-preserving versions of existing DeFi and blockchain applications:
  • Dark Pools & Orderbooks: Trade without revealing order prices or quantities until matched
  • Sealed-Bid Auctions: Submit encrypted bids that are revealed only to winners
  • Private Voting: Cast votes that remain encrypted until tallying
  • Confidential Payments: Transfer tokens with encrypted amounts
  • Private Data Markets: Compute on encrypted datasets without revealing the data

How It Works

  1. Client Encryption: Users encrypt their data client-side using the FHE public key
  2. Data Submission: Encrypted ciphertexts are submitted to the content-addressable store
  3. On-chain References: Programs store 32-byte hash references to encrypted data
  4. FHE Computation: Programs load encrypted data and perform operations without decryption
  5. Result Storage: Computation results are stored back to the content store

Architecture Overview

Privora consists of three main components:
ComponentDescription
SequencerL2 rollup that executes FHE operations and manages the data store
Program SDKRust SDK for building FHE-enabled Solana programs
Client SDKsRust and TypeScript SDKs for encryption and transaction building

Getting Started

SDK Installation

Add to your Cargo.toml:
[dependencies]
privora-sdk-program = { git = "https://github.com/privora-xyz/privora" }