Skip to content

Core Concepts ​

Every page in this directory assumes the reader already understands a few things about how Tahoe works. This page states those things once, plainly, so no other page has to re-explain or re-derive them, and so nobody (human or AI) has to guess.

If a claim on another page ever seems to contradict something here, this page wins. Flag the conflict for correction.

Tahoe Provisioned wallets as defaults ​

Neither fund managers nor investors hold private keys, manage a seed phrase, or sign a raw onchain transaction themselves. Tahoe provisions a wallet for each side, scoped to their role. Nobody using Tahoe needs to know or care that their actions happen onchain at all.

ActorWalletWhat they authorize
Fund managerManager Signing Wallet (one per person with permission)Fund-controlled actions: accepting investments, issuing shares, moving funds to trusted addresses, fulfilling redemptions
Fund (no direct operator)Fund Holding Wallet (one per fund, shared)Holds fund assets before they move into the Fund Treasury Vault — only moves when directed by an authorized Manager Signing Wallet action
InvestorTahoe-provisioned investor walletTheir own subscription and redemption actions: requesting, claiming

A future version may offer true self-custody (the fund manager holding their own keys) as an option. It is not the default today, and no current page should describe it as though it already exists.

What "Signing" Means ​

Every page in this directory uses the word "signs" — the fund wallet signs fulfillDeposit, the investor signs redeem, and so on. On Tahoe, this never means a person is presented with a raw transaction and a private key. It means:

  1. The person is sent a 2FA code.
  2. Entering that code is their proof of authorization for the specific action.
  3. Tahoe's backend then executes the onchain action on their behalf.

This is true for every money-moving or share-moving action, for both fund managers and investors, with no exceptions in the current product.

The Wallets on a Fund ​

Every fund has three distinct wallet concepts. Confusing them is the single most common source of misunderstanding in earlier drafts of these docs.

WalletWhat it isWhat it does
Manager Signing WalletOne per person whose role has permission for these actionsAuthorizes fund-controlled actions via 2FA: approving spend, accepting investments, issuing shares, fulfilling redemptions, moving funds to a trusted destination
Fund Holding WalletOne per fund, shared across all managers on that fundHolds fund assets before they move into the Fund Treasury Vault. No one operates it directly — it only moves when directed by an authorized Manager Signing Wallet action.
Fund Treasury VaultThe deployed vault contract itselfPhysically holds USDC, tracks pending and claimable balances, and implements the fund's share token

The Manager Signing Wallet authorizes and directs; the Fund Holding Wallet holds, on direction only; the Fund Treasury Vault holds and settles. No fund manager or investor personally controls the keys to any of these.

Planned: multi-signature support for the Manager Signing Wallet. The fund manager will define an approval threshold and designate which people can check or sign a given wallet action, so a single person cannot unilaterally move funds. This is an approved future scope item, not a current capability. Implementation approach is undecided and may change before it's built. Will be added in V2 or V3.

How NAV Pricing Works ​

NAV is set per transaction, not per period. There is no "current NAV" that automatically applies to whatever happens next. Each time a transaction is fulfilled in the vault, the fund manager enters the price for that specific transaction at that moment.

To give the manager context without implying a default:

  • The Record NAV screen shows the last recorded NAV as small reference text near the entry field.
  • The Fulfill in Vault / execute-order screen also shows the last recorded NAV as small reference text.

In both cases this is read-only reference information. It is never pre-filled and never applied automatically.

All price changes are displayed on a preview confirmation screen before final execution.

Investment Capacity ​

Every investor has an investment cap per fund, set by their most recently approved subscription agreement — a fund-manager-authored template the investor fills in with their intended investment amount and e-signs. Accepting the subscription agreement includes the fund manager counter-signing it.

  • The cap accumulates, it isn't a one-time allowance. An investor can sign a $5M agreement, invest $2M, later sign a new agreement for $1M more (raising the cap to $6M), then invest the remaining $4M.
  • A cap never decreases on its own. Redeeming does not lower the cap — it frees up room underneath it, since a redemption reduces how much of the cap is currently invested, not the cap itself. The investor can invest again into that freed-up room, or raise the cap further with a new subscription agreement.
  • Investment Management's Accept action must check remaining capacity before accepting a new investment — an investment that would exceed the current cap should not be acceptable.
  • Investors can request more room directly: the investor portal includes an "Increase Subscription Capacity" action that starts a new subscription agreement.

This is why an investor's profile shows a Remaining Capacity figure — it isn't a static configured limit, it's derived (cap minus currently invested amount), and it moves as agreements are signed, investments are accepted, and redemptions are paid out.

The Investment Lifecycle ​

An investment moves through the same named states regardless of whether funding arrives as fiat or as USDC. There is no cancellation window on the holding step — once funds are locked, the flow moves forward to acceptance or rejection, not back.

flowchart LR diagram

TypeExplanationFiatStablecoin
LockedThe investor's funds are committed and held.Investor sends funds to the fund's designated bank account (provided by the fund organization).Investor transfers stablecoin from their personal wallet to their Tahoe-provisioned wallet, then locks the investment into the fund's deposit contract (the vault).
AcceptedThe fund manager accepts the investment.When the fund manager receives the bank transfer for the investment, they select Accept so the system records the acceptance to the ledger and prepares to issue shares to the investor's Tahoe-provisioned wallet address.Accepting the investment moves the locked funds from the vault's pending position into the Fund Treasury Vault, making them accessible to the fund manager, and prepares the system for share issuance.
Funds transferred (Background task)Funds move into the Fund Treasury Vault, made accessible to the fund manager.N/A — funds are already in the bank account.Happens automatically as part of Accept, not a separate manager action. Recorded as its own ledger event for audit purposes even though it's atomic with Accepted.
Shares issuedShares are issued at the price the manager set for this transaction.Fund manager issues shares at the correct NAV to the investor's Tahoe-provisioned wallet address.Fund manager issues shares at the correct NAV to the investor's Tahoe-provisioned wallet address.
ClaimedThe investor claims the issued shares.Investor claims their shares to their Tahoe-provisioned wallet (needs to be automated in the future).Investor claims their shares to their Tahoe-provisioned wallet (needs to be automated in the future).

Every one of these transitions is its own timestamped event in the Ledger — see below.

The Redemption Lifecycle ​

flowchart LR diagram

TypeExplanationFiatStablecoin
LockedInvestor locks a redemption request by locking their shares into the contract. Shares are held, not yet burned.Investor requests redemption; shares are locked pending fund manager review.Investor requests redemption; shares are locked into the contract pending fund manager review.
AcceptedFund manager sees the locked request in the UI and accepts it, which burns the shares.Fund manager accepts the request; shares are burned.Fund manager accepts the request; shares are burned.
Priced & fundedThis is not a Tahoe task. Fund manager waits for the NAV (from fund admin or their own calculation), uses it to determine the payout amount, and adds sufficient liquidity to the vault.Fund manager determines cash payout amount from NAV and prepares funds.Fund manager determines stablecoin payout amount from NAV and adds liquidity to the vault.
Paid outFund manager executes the redemption using the accepted NAV.Fund manager sends the bank transfer directly from the fund's own bank account, then manually clicks "Paid Out" in Tahoe to record the payout — Tahoe has no visibility into the bank transfer itself, so this click is the record-keeping step.Payout funds are locked in the vault for the investor to claim.
ClaimedInvestor claims the issued payout.N/A — the bank transfer itself completes the payout; there is no separate claim step.Investor claims their payout to their Tahoe-provisioned wallet.

Cancellation is not a V1 requirement for either the investment or redemption flow. It may be added in a later version.

Redemptions can be partial. At Accept, the manager can burn only some of the requested shares, leaving the rest pending. The Accepted → Priced & Funded → Paid Out cycle above can repeat more than once for a single original request until it's fully satisfied — and each cycle can land at a different NAV, since the unfulfilled remainder keeps earning yield while it waits.

The Ledger Is the Source of Truth ​

Ledger is Tahoe's audit-grade record of everything above. It is not a status summary — every state change in every lifecycle gets its own timestamped row, not just the current state. Related rows share an ID (for example 415-1, 415-2, 415-3) so one investor's full investment flow can be traced without collapsing it into a single row, and the fund has a date/timestamp of all transactions.

Ledger also records:

  • Manager actions that touch money or NAV — NAV records created, edited, or deleted; strategy drawdowns and returns — each with the acting team member, timestamp, and amount.
  • Planned: investor-to-investor transfers, once built (technically possible today since fund tokens are whitelist-transfer-only, but not yet a live feature).
  • Planned: distributions, once that feature ships — each distribution event will log here the same way.

Non-financial admin actions (investor invitations, KYC/B investor status changes, manual adjustments to KYC/B forms, permission changes, profile edits, and similar) are out of scope for Ledger. Those are covered by Tahoe's separate Organization audit page.

Live vs. Planned, at a Glance ​

ItemStatus
Tahoe-provisioned wallets for managers and investors, 2FA-authorized signingLive
NAV set per transaction at fulfillmentLive
Investment capacity set and tracked via subscription agreementsLive
Subscription agreement e-signing with fillable fields on an uploaded documentPartial — document + signature block exist; fillable text-field placement on the document does not yet — needed for V1
Ledger as event-level audit logLive (this spec)
Auto claim tokens or stablecoins for the investorPlanned for V2
Multi-signature manager wallet approvalsPlanned V2/3
Investor-to-investor transfersPlanned V2
DistributionsPlanned V2
Redemption/investment cancellationNot in V1 — may return later
Fund-manager self-custody optionNot in V1 — future consideration for V2/3

Where to Go Next ​

Revision History ​

VersionDateChange
1.02026-08-24Established early in this docs review as the shared source of truth for custody, signing, wallet naming, NAV timing, investment capacity, and lifecycle stages. Iteratively refined across many sessions since — this table starts tracking from the most recent structural change forward.
1.12026-09-17Added a note to the redemption lifecycle: a single redemption can cycle through Accepted → Priced & Funded → Paid Out more than once (partial redemptions), and each cycle can land at a different NAV since the unfulfilled remainder keeps earning yield while pending.

Tahoe project-owner operations documentation