ArchitectureCore release 0.1.0

Solana design

Account ownership, PDAs, rent, classic SPL Token, v0 messages, lookup tables, packet limits and compute shape.

The protocol is implemented as a Solana program. State is split across program-owned accounts and classic SPL Token accounts; deterministic PDAs identify pools, custody, pages and spent nullifiers.

Accounts, rent and instruction accounts

Each instruction supplies its required accounts and signer/writable privileges. Creating a spent-nullifier PDA or growing a leaf page can require rent-exempt lamports. In a sponsored operation the relayer pays applicable rent and transaction costs, subject to policy limits.

Versioned messages and address lookup tables

Private Swap and Unshield are built as v0 versioned transactions by the SDK and require a validated address lookup table (LUT) to fit their account set. Static accounts can be resolved through a LUT; dynamic archive pages and recipient accounts remain in the message shape as configured by the release fixture. A LUT compresses addresses, not transaction semantics.

The SDK validates LUT activation and deactivation status, optional authority and expected contents, and enforces Solana's 1,232-byte serialized transaction packet maximum.

Compute and Token Program

Private Swap and Unshield include explicit compute-budget instructions in the SDK path. The hosted Devnet relayer accepts only canonical setComputeUnitLimit and setComputeUnitPrice variants within its configured ceilings.

V0.1.0 uses the classic SPL Token program, TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA. Wrapped SOL, if used as a pool asset, is an SPL mint; the protocol does not use a native-lamport swap instruction.

Paging limits repeated growth to individual commitment accounts. See Tree paging & archive and Transaction size & measurements.

PreviousTransaction flowsNext Installation
Source baseline: frozen Core v0.1.0 / SDK v0.1.1.