Skip to main content

Keep callback transactions within the size limit

Solana limits a serialized transaction to 1,232 bytes. Callback output shares this limit with signatures, account keys, instructions, and other callback data, so the usable output size depends on the callback. If Arx cannot build the callback as a single transaction, the computation fails with OutputTooLarge. Keep outputs compact and test the largest expected output with the callback accounts used by your application. Split larger results across separate computations when necessary.

Arcis language constraints

Arcis compiles Rust-like code into fixed MPC circuits. The circuit shape must be known at compile time, so several standard Rust patterns need different implementations: Arcis supports if, else, else if, if let, let chains, match, matches!, fixed-size arrays, structs, tuples, enums, Option<T>, and fixed-bound loops. Enums and Option<T> cannot be the input or output of an encrypted instruction, and enum discriminants cannot be set explicitly. See the Operations guide for the complete support matrix.

Common errors

What’s next?

Best practices

Performance tips and common patterns

Operations guide

Complete operation support matrix

Types reference

Supported and unsupported types

Deployment

Deploy your MXE to the network