Getting started
There are two ways in, the app and the engine's own tests.
The app
Open the app from "Launch app". It reads live mainnet prices through the site's relay and shows the value per share, the eight vaults and every trade. Enter a deposit and it shows the shares you would receive at that moment's prices.
The engine's tests
From the project's engine folder:
# unit tests: math, donation attack, fee, redemption fuzz
cargo test -p fund --lib
# LiteSVM with mainnet Token-2022, Orca Whirlpools, Pyth and Kamino Scope snapshots, real ZK proofs
cd tests-svm && cargo +nightly test
# the Arcium localnet: two Arx nodes in Docker, rules -> decide -> execute on Orca
python3 scripts/fixtures.py && arcium test
The localnet run boots the cluster and a validator and takes about four minutes of wall clock. Tests must clone the mainnet Token-2022 program: the build bundled inside the 4.1.2 test validator rejects the confidential Deposit.
Configuring a confidential share account
Before a first deposit a wallet configures its share account:
- Create the token account sized for the confidential transfer extension.
ConfigureAccountwith the holder's ElGamal public key and a public-key validity proof (one transaction, 5,008 CU).- After each deposit,
ApplyPendingBalance(7,967 CU) moves pending shares into the available balance.
The keys are derived from a wallet signature; nothing is stored server side. Losing the wallet loses the ability to decrypt and withdraw, exactly like losing the wallet loses the shares.
Reading your balance
The wallet decrypts the available balance with its ElGamal key, or reads the faster authenticated-encryption copy. The landing page shows the same check with a demo key: C minus s times D equals m times G.