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 withOutputTooLarge. 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