Skip to main content
Arcis is a Rust framework for writing MPC circuits on Solana. This page is a quick reference. For conceptual understanding, see Thinking in MPC.
Use this page when you need quick syntax lookup while coding.

Quick reference: limitations

Why? MPC circuits must have fixed structure. See Thinking in MPC for the full explanation.

Basic structure

  • #[encrypted] marks modules containing MPC circuits
  • #[instruction] marks entry points callable from Solana

Working with encrypted data

Types

See Types for complete reference.

Control flow

Functions

See Operations for generics and traits.

Arrays

Iterators

See Operations for complete iterator support. Note: .filter() is not supported.

Encryption patterns

See Input/Output for details. For EncData usage, see Types.

Randomness

See Primitives for complete RNG reference.

Cryptography

See Primitives for complete crypto reference.

Field arithmetic

See Primitives for complete reference.

Data packing

See Primitives for details.

Debugging

See Best practices for debugging strategies.

Testing

See Best practices for testing strategies.

What’s next?

Ready to build? Start here:

Hello World

Build your first Arcis circuit step-by-step.

Solana integration

Invoke circuits from your Solana program.

JavaScript client

Call circuits from TypeScript.