xVault Docs
Protocol

Architecture

How the web app, SDK, keeper, indexer, and Anchor programs fit together.

xVault is split across three main layers: the user-facing web app, off-chain services, and on-chain Anchor programs.

Components

LayerResponsibility
apps/webUser-facing dapp, wallet flows, geofence and terms gating
apps/docsPublic and operator-facing documentation
packages/sdkTyped client bindings for the Anchor programs
packages/xstocks-clientTyped wrapper around xStocks public and authenticated APIs
services/keeperNAV pushes, drift scanning, rebalance execution, corporate-action response
services/indexerEvent ingestion and analytics persistence
programs/vaultVault deposits, withdrawals, rebalances, fee logic, pause controls
programs/oracleKeeper-pushed NAV snapshots with multiplier-aware entries
programs/rewardsVLT staking and epoch reward claims

Data path

  1. The web app reads vault state and oracle data through the SDK.
  2. The keeper fetches xStocks multipliers and prices, computes NAV, and writes snapshots on-chain.
  3. Rebalance jobs request xChange quotes, prepend validation instructions, and co-sign transactions before submission.
  4. The indexer consumes program events and powers historical analytics.

Why xVault uses an oracle program

Scaled UI multipliers can shift independently of raw balances, especially during dividends, splits, or fee accrual. The oracle program makes multiplier-aware NAV snapshots explicit, fresh, and auditable for deposit and withdrawal paths.

On this page