UNLIT

API reference

Names below are copied from the fund program's source (programs/fund/src).

Instructions

InstructionWho signsEffect
initialize_fundthe program's upgrade authority, oncecreates Fund with assets, routes, parameters, share mint and fee account
init_vault(index)fund authoritycreates the vault for asset index
init_set_rules_comp_def, init_decide_comp_deffund authorityregisters the two Arcium circuits
set_rulesfund authorityqueues sealing of a new rule set; the callback stores it in PendingRules with its ready time
set_rules_callbackArcium clusterstores the sealed rules
activate_rulesanyone, after the delaymoves pending rules into Rules
deposit(amount, min_shares)depositorUSDC in, shares minted at value per share and moved into the confidential pending balance
request_decision(computation_offset)anyonevalues the pool and queues decide
decide_callbackArcium clusterverifies the BLS signature, writes Order
executeanyonecarries out the order through a whitelisted route, then checks every band
redeem(shares, min_out[4])holderburns public shares, pays the same fraction of each vault
crystallizeanyonetakes the performance fee above the high-water mark
set_paused(paused)fund authoritypauses deposits, decisions and trades; never redemptions
propose_authority, accept_authorityfund authority, then the new onetwo-step hand-over

There is no instruction that transfers from a vault to an arbitrary account.

Parameters (Params in Fund)

FieldDefaultHard ceiling
max_slippage_bps50300
turnover_cap_bps2,000 of the day's opening value5,000
performance_fee_bps5003,000
deposit_fee_bps10100
max_oracle_age_secs1203,600
max_conf_bps100500
order_ttl_secs3003,600
decision_cooldown_secs900
rules_delay_secs7 daysat least 1 day
min_nav$100

Share mint

Token-2022, 6 decimals, only the confidential transfer extension: auto-approve on, no auditor key, no confidential-transfer authority.

Site routes

RouteReturns
GET /api/pricesUSD prices for the eight assets, the slot and the source
POST /api/rpcrelayed Solana JSON-RPC (app)