Skip to content

Fund Detail: Vault Operations

Operations By Screen Group

Refresh Vault State

Selecting Refresh Vault state runs the reads below together.

Button nameUnderlying operationExplanation
Refresh Vault stateGET /auth/funds/{slug}/offer-walletLoads the Self-Custody Wallet address, chain-account state, owner email, and verification state.
Refresh Vault stateGET /auth/funds/{slug}/strategyLoads the deployed Treasury Wallet, latest finalized valuation snapshot, strategy-operation history, asset and share metadata, and scanner position. A 409 means the Vault is not deployed and is shown as an unavailable contract rather than a page failure.
Refresh Vault stateGET /auth/funds/{slug}/investment-managementLoads the holdings, protocol snapshot, ledger rows, and deposit/redemption state used by the tiles and charts.
Refresh Vault stateUSDC.balanceOf(TreasuryWallet)Reads the Treasury Wallet's current USDC balance directly from the configured Sepolia provider. If this browser read fails, Tahoe falls back to an indexed observed balance and then to the latest finalized snapshot.

Refresh is read-only. It does not move assets, authorize a wallet, fulfill a deposit or redemption, issue shares, burn shares, or finalize NAV.

Contract Utilities

Button or linkUnderlying operationExplanation
Copy fund wallet addressBrowser clipboard writeCopies the Self-Custody Wallet address. No blockchain or backend state changes.
Open fund wallet in explorerExternal explorer navigationOpens the Self-Custody Wallet address for the configured chain.
Copy Vault contract addressBrowser clipboard writeCopies the Treasury Wallet contract address. No blockchain or backend state changes.
Open Vault or asset in explorerExternal explorer navigationOpens the Treasury Wallet or USDC contract address for independent inspection.

Information Shown

Summary Tiles

TilePrimary sourceFallback or interpretation
AUMLatest finalized navAssetsRawFund Detail AUM when no finalized snapshot exists.
NAV / shareLatest finalized navUsdcRawLatest manager-visible NAV from NAV Management.
Shares issuedFinalized Vault share supplyFulfilled-ledger share total when the finalized supply is absent or zero.
HoldersCurrent Investment Management holdingsFund investor count when holdings have not loaded.
Deposits in flightInvestment Management Incoming Request laneSum and count of subscriptions still awaiting the next funding operation.
Claimable redemptionsProtocol claimableRedemptionAssetsRaw$0 when no claimable amount is reported.

The tiles intentionally mix finalized, indexed, ledger-derived, and fallback values. A tile is an operating indicator, not a proof that every source was observed at the same block or timestamp.

Self-Custody Wallet Card

The card shows:

  • wallet address and explorer link;
  • active or setup state;
  • chain-account verification status;
  • observed EIP-7702 delegation address;
  • chain; and
  • registered owner email.

The Self-Custody Wallet owns fund-controlled signatures. EIP-7702 designation does not grant Tahoe a reusable business authorization. Each money movement or Vault call still requires one exact durable operation and the owner signature described on the Self-Custody Wallet page.

Treasury Wallet Card

The card shows:

  • deployed contract address and explorer link;
  • Vault/share-token name and symbol;
  • reported shares issued;
  • USDC asset contract; and
  • best available current USDC balance.

The Treasury Wallet owns pending and claimable subscription/redemption accounting. See Treasury Wallet for its operating semantics.

Shares Outstanding Chart

The chart is a Tahoe projection, not a historical totalSupply() query. It uses current ledger rows that have reached fulfilled states:

  • fulfilled investments add shares;
  • fulfilled or claimed redemptions subtract shares; and
  • pending requests do not change the chart.

Each step uses the ledger row's creation time because the read model does not provide a separate fulfillment timestamp for the chart. The final value extends to the current time.

Assets In Vault Chart

The chart adds fulfilled investment amounts and subtracts fulfilled redemption amounts using the same ledger timestamps. Its final point is replaced with the current direct chain balance when available. This makes the endpoint align with the current Treasury Wallet balance, but it does not create a complete historical series for strategy drawdowns, returns, fees, or other asset movements.

Backend Operations Not Exposed On This Page

The fund-manager backend and Tahoe API adapter contain strategy commands, but the Vault Operations tab intentionally exposes no money-movement controls.

CapabilityBackend operationCurrent page status
Draw assets from the Treasury Wallet for strategy usePOST /auth/funds/{slug}/strategy/drawdown with amountRaw and idempotencyKeyNo button, sheet, ViewModel command, or owner-signing handoff on this page.
Return approved strategy liquidity to the Treasury WalletPOST /auth/funds/{slug}/strategy/return with amountRaw and idempotencyKeyNo button, sheet, ViewModel command, or owner-signing handoff on this page.
Report strategy assets for NAVBackend strategy/report operation visible in strategy historyNo Tahoe page action initiates the report from Vault Operations.
Fulfill subscriptions or redemptionsInvestment and redemption fulfillment routesOwned by Investment Management, not this page.
Record NAVNAV routesOwned by NAV Management, not this page.

Do not infer an available manager workflow from an API helper alone. A usable fund-controlled strategy transfer also requires exact operation preparation, owner authentication, sponsored call preparation, owner signature, submission, and receipt reconciliation.

Actors And Permissions

ActorRead and refresh Vault OperationsBackend strategy drawdown or return
Ownerfunds.readnav.write, but not exposed on this page
Adminfunds.readnav.write, but not exposed on this page
Opsfunds.readnav.write, but not exposed on this page
Auditorfunds.readNot permitted

Opening Fund Detail is also blocked until the fund's Self-Custody Wallet exists and its chain account is verified. Wallet creation, registration, and EIP-7702 activation belong to the Fund Detail wallet gate, not to the visible Vault Operations tab.

Controls, Failures, And Recovery

ConditionPage behavior or required response
Self-Custody Wallet is still being preparedShow the setup state and complete the blocking wallet gate before relying on Fund Detail.
Treasury Wallet is not deployedThe strategy endpoint returns 409; show Not deployed and no Treasury Wallet facts. Deployment is out of band.
Wallet, strategy, or Investment Management read failsShow Vault state could not be loaded and allow Refresh.
Direct USDC balance read failsFall back to an indexed balance only when it has an observed block, then to the latest finalized snapshot.
Indexed balance is zero with no observed blockTreat it as unavailable, not proof that the Treasury Wallet is empty.
No issued shares existShow the empty shares chart.
No fulfilled deposits existShow the empty assets chart.
Submitted chain operation is visible elsewhereWait for receipt reconciliation. Do not treat submission as confirmed balance or supply.
Development mock data is visibleDo not use it as evidence of wallet, Vault, balance, or settlement state.

Capability Status

CapabilityMaturityExecution owner or locationCurrent boundary
Read Self-Custody Wallet stateLiveThis pageSame-site fund wallet status from the fund-manager API.
Read Treasury Wallet and finalized strategy stateLiveThis pageRequires a deployed Vault; undeployed state is represented as unavailable.
Read current Treasury Wallet USDC balancePartialThis page and configured Sepolia providerDirect browser read with indexed and finalized fallbacks; deployed provider parity was not checked.
View AUM, NAV, supply, holders, deposits, and claimable redemptionsPartialThis pageValues come from sources with different observation times and fallback rules.
View shares and assets historyPartialThis pageCharts are ledger-derived projections, not complete historical chain queries.
Refresh all Vault monitoring stateLiveThis pageRead-only and protected by funds.read.
Initiate strategy drawdown from Vault OperationsUnsupportedNo Tahoe page actionBackend endpoint and API helper exist, but the workflow is not wired to this tab.
Initiate strategy return from Vault OperationsUnsupportedNo Tahoe page actionBackend endpoint and API helper exist, but the workflow is not wired to this tab.
Initiate strategy asset reportUnsupportedExternal backend processReport operations can appear in history, but this page has no command.
Fulfill a subscription or redemptionLiveInvestment ManagementThis page monitors the result only.

Owner Operating Checklist

Daily monitoring

  • Refresh Vault state and confirm both wallet identities belong to the selected fund.
  • Confirm the Self-Custody Wallet is verified and the Treasury Wallet is deployed.
  • Reconcile the current Treasury Wallet balance with expected deposits, redemptions, and strategy movements.
  • Compare shares issued and holders with Investment Management and the ledger.
  • Investigate deposits in flight, claimable redemptions, and stale values.

Before relying on a value

  • Check whether it is finalized, chain-read, indexed, ledger-derived, or a Fund Detail fallback.
  • Confirm the valuation timestamp or observed block where one is available.
  • Use the block explorer or owning workflow for independent evidence of an irreversible operation.

During an incident

  • Preserve the selected fund, wallet addresses, Vault address, chain, operation id, transaction hash, and observed block.
  • Refresh once and compare the owning backend and chain state before retrying any operation on another page.
  • Never infer success from a toast, submitted call, or chart endpoint alone.

Known Product And Documentation Risks

  • The tab is named Vault Operations, but its only business control is a read-only refresh. Strategy mutation routes are not wired into the page.
  • The current card copy says the Self-Custody Wallet authorizes share issuance. More precisely, it signs a prepared Vault fulfillment; the investor later claims the shares.
  • Summary tiles combine sources observed at different times and do not display a single shared as-of timestamp.
  • Chart timestamps use ledger creation time instead of fulfillment or claim confirmation time.
  • The assets chart does not reconstruct historical strategy drawdowns and returns; only the final live balance can reflect them.
  • The direct balance helper currently uses the configured Sepolia provider path. Repository behavior was verified, but deployed chain/provider parity was not checked.

Technical Traceability

Frontend

  • View: apps/tahoe/src/views/AdminFundDetailView.vue
  • ViewModel: apps/tahoe/src/features/admin/view-models/useTahoeAdminViewModels.ts
  • API adapter: apps/tahoe/src/features/fund-manager/data/tahoeApi.ts
  • Direct chain balance read: apps/tahoe/src/features/fund-manager/data/offerWalletDelegation.ts
  • Investment Management state: apps/tahoe/src/features/admin/stores/adminStore.ts

Fund-Manager API

ContractPermissionPurpose
GET /auth/funds/{slug}/offer-walletfunds.readReturn Self-Custody Wallet setup and identity.
GET /auth/funds/{slug}/strategyfunds.readReturn Treasury Wallet identity, finalized valuation state, and strategy-operation history.
GET /auth/funds/{slug}/investment-managementfunds.readReturn holdings, ledger, and protocol state used by tiles and charts.
POST /auth/funds/{slug}/strategy/drawdownnav.writeBackend-only strategy drawdown facade; not exposed on this page.
POST /auth/funds/{slug}/strategy/returnnav.writeBackend-only strategy return facade; not exposed on this page.

Backend evidence:

  • ../fund-manager-api/app/routes.py
  • ../fund-manager-api/app/views/fund_manager_admin/vault.py
  • ../fund-manager-api/app/views/fund_manager_admin/common.py
  • ../fund-manager-api/app/schemas/fund_manager.py
  • ../fund-manager-api/utils/consts/group.py
  • ../evm-api/internal/app/vaultlifecycle/strategy.go

Focused Tests

  • apps/tahoe/src/__tests__/adminFundDetailOverview.test.ts
  • apps/tahoe/src/__tests__/adminFundWalletGate.test.ts
  • apps/tahoe/src/features/fund-manager/data/__tests__/tahoeApi.characterization.test.ts
  • ../fund-manager-api/tests/e2e/test_fund_manager_vault_commands.py
  • ../evm-api/internal/app/vaultlifecycle/strategy_test.go

Revision History

VersionDateChange
1.02026-08-21Initial source-backed project-owner description of Vault Operations.

Tahoe project-owner operations documentation