Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.arcium.com/llms.txt

Use this file to discover all available pages before exploring further.

Arcis is a Rust-based framework for writing secure multi-party computation (MPC) circuits that run on the Arcium network. Create confidential applications that compute over confidential data using familiar Rust syntax.

What Arcis code looks like

Arcis code is standard Rust with special annotations for MPC execution:
use arcis::*;

#[encrypted]
mod my_circuit {
    use arcis::*;

    #[instruction]
    pub fn add_private(a: Enc<Shared, u64>, b: Enc<Shared, u64>) -> Enc<Shared, u64> {
        let x = a.to_arcis();  // Encrypted → secret shares
        let y = b.to_arcis();
        a.owner.from_arcis(x + y)  // Secret shares → encrypted
    }
}
This computes a + b where both inputs remain confidential throughout. No node ever sees the plaintext values.

Thinking in MPC

Understand why MPC circuits work differently and the mental model behind Arcis.

Hello World

Build your first Arcis circuit with a hands-on tutorial.

Examples

Real-world circuits: voting, games, DeFi applications.

Quick Reference

Quick reference cheatsheet for Arcis syntax and patterns.

Key features

  • Rust-based: Use Rust’s type safety and performance for MPC development.
  • Circuit-oriented: Write MPC circuits using familiar Rust syntax with constraints for fixed circuit structure.
  • Confidentiality-focused: Compute over confidential data without revealing the underlying information.

What’s next?

Best Practices

Security patterns, optimization tips, and common pitfalls to avoid.

Types

Learn Enc<Owner, T>, EncData<T>, and supported data patterns.

Input/Output

Pass confidential inputs and design callback-friendly outputs.

Operations

Check what Rust operations are supported in Arcis circuits.