This repository contains example applications demonstrating how to build confidential applications on Solana using Arcium's Multi-Party Computation (MPC) network. Each example showcases different aspects of privacy-preserving computation while maintaining transparency and verifiability on the blockchain.
To build and run these examples, you'll need:
- Rust toolchain
- Solana CLI tools
- Anchor framework
- Access to Arcium's MPC network
For detailed setup instructions, check out our Developer Documentation.
Blackjack - A complete blackjack game where card values remain hidden throughout gameplay. Demonstrates complex game state management with encrypted data structures and multi-step MPC computations for card dealing, player actions, and game resolution.
Coin Flip - A simple heads-or-tails game showcasing secure random number generation within MPC. Players submit encrypted choices that are compared against cryptographically secure randomness generated by the network.
Rock Paper Scissors - Two variants of the classic game:
- Player vs Player - Both players submit secret moves that are revealed and compared simultaneously
- Player vs House - Player competes against randomly generated house moves
Confidential Voting - Anonymous polling system where individual votes remain private while still enabling verifiable tallying. Demonstrates how to maintain voter privacy while ensuring election integrity.
Medical Records Sharing - Privacy-preserving healthcare data sharing between authorized parties. Shows how sensitive personal information can be shared selectively while maintaining confidentiality.
These examples demonstrate building confidential applications using Arcium's MPC network. Each follows a similar pattern:
- Solana Program - Manages on-chain state and orchestrates MPC operations
- MPC Instructions - Define computations over encrypted data executed by Arcium nodes
- Client SDK - Handles encryption/decryption and interaction with both Solana and Arcium
For detailed documentation on Arcium's architecture and APIs, see docs.arcium.com/developers.
Questions? Join our Discord community for help and discussion.