Skip to content

Decisions ​

Open items for business, product, and legal alignment. Click any card to expand and see full options.

🟑 Business Decisions ​

These shape the product's financial and operational model. Each has a recommendation but is open for discussion.

BD1 β€” Yield Distribution Model βœ… Resolved

BD1 β€” Yield Distribution Model

Question: How should yield be delivered to investors?

β†’ Decision: Manual Claim (MANUAL_CLAIM)

Options considered:

  1. Distributing β˜… β€” Yield paid separately as USDC or LP tokens; LP price stays fixed at $1; Clear separation between principal and yield
  2. Auto-Compound β€” Yield automatically reinvested into the pool; LP price appreciates to reflect accumulated returns
  3. Manual Claim β€” Yield accrues in contract; Investor must trigger a claim transaction to receive it

Blocks: 🟑 BD5 · Refs: Core Concepts, Investment Lifecycle, Triggers & Rules

BD2 β€” Early Redemption Policy Open

BD2 β€” Early Redemption Policy

Question: What happens when an investor exits before the lock-up period ends?

β˜… Recommended: Per-pool configurable penalty

Options:

  1. Per-pool configurable penalty β˜… β€” Each pool sets its own early exit penalty (e.g., 50% of accrued yield); Flexible for different asset classes
  2. Flat platform-wide % β€” Same penalty rate across all pools; Simpler but inflexible for different asset durations
  3. No penalty β€” Investors can exit freely at any time; Risk: bank-run behavior during market stress
  4. Full lockup (no early exit) β€” Investors cannot redeem until maturity; Simplest to implement but worst UX

Blocks: 🟑 BD6 · Refs: Redemption, Triggers & Rules

BD3 β€” Token Issuance / Loss Model Open

BD3 β€” Token Issuance / Loss Model

Question: How should the platform reflect asset losses to investors?

β˜… Recommended: NAV Token Pricing

Options:

  1. NAV Token Pricing β˜… β€” Token price floats $0.00–$1.00 (no floor); Investment stays open during loss; New investors get fair entry at current NAV price
  2. Principal Factor (PF) β€” Fixed $1 token price with separate PF multiplier; Investment auto-blocked when PF < 1.0

Blocks: 🟑 BD4 πŸ”΅ PD1 πŸ”΅ PD2 πŸ”΅ PD3 πŸ”΅ PD4 πŸ”΅ PD5 Β· Refs: Core Concepts, Writedown & NAV, Redemption, Database Schema, Triggers & Rules

BD4 β€” Reserve Fund Mechanics Open

BD4 β€” Reserve Fund Mechanics

Question: How should the first-loss reserve be structured?

β˜… Recommended: 10% first-loss reserve per pool

Options:

  1. 10% first-loss reserve per pool β˜… β€” 10% of deposits allocated to reserve; Covers losses before NAV drops; Configurable per pool at creation
  2. Per-pool configurable % β€” Each pool sets its own reserve rate; More flexibility, more operational complexity
  3. Platform-wide fixed % β€” Same rate for all pools; Simpler to manage
  4. Hybrid β€” Platform sets minimum reserve %; Pools can exceed but never go below

Depends on: 🟑 BD3 · Refs: Core Concepts

BD5 β€” Reinvestment Mechanism βœ… Resolved

BD5 β€” Reinvestment Mechanism

Question: What happens when an investment matures?

β†’ Decision: Manual Reinvest V1

Options considered:

  1. Auto-roll with opt-out β˜… β€” At maturity, investment auto-renews; Investor can opt out within defined window
  2. Manual only β€” Investor must actively choose to reinvest; Funds return to wallet at maturity if no action
  3. Auto-roll (no opt-out) β€” Always reinvests; Investor must initiate redemption to exit

Depends on: 🟑 BD1 · Refs: Investment Lifecycle

BD6 β€” Lock-Up Period Structure Open

BD6 β€” Lock-Up Period Structure

Question: How should investment lock-up periods work?

β˜… Recommended: Per-pool configurable

Options:

  1. Per-pool configurable β˜… β€” Each pool defines its own lock-up at creation; Matches real-world asset liquidity profiles
  2. Platform-wide standard β€” All pools use same lock-up (e.g., 90 days); Simpler but inflexible
  3. No lock-up β€” Investors can redeem anytime; Risk: liquidity mismatch with illiquid assets

Depends on: 🟑 BD2 · Refs: Redemption, Triggers & Rules

πŸ”΅ Product Decisions ​

Technical architecture choices. Some are blocked until a related Business Decision is resolved.

PD1 β€” NAV Oracle Contract βœ… Resolved

PD1 β€” NAV Oracle Contract

Question: Where does the NAV update logic live on-chain?

β†’ Decision: Integrated into PlatformPool (Feb 20, 2026)

Options considered:

  1. Integrated into PlatformPool β˜… β€” Add updateNAV() + ORACLE_ROLE directly to PlatformPool; Simpler β€” fewer deployments, one contract
  2. Separate NAVOracle contract β€” Dedicated contract for NAV updates; Cleaner separation but more interactions
  3. Third-party oracle (Chainlink) β€” Use Chainlink custom data feed; Complex for private RWA NAV

Depends on: 🟑 BD3 Β· Blocks: πŸ”΅ PD2 πŸ”΅ PD3 Β· Refs: Core Concepts, Smart Contracts, Writedown & NAV

PD2 β€” Oracle Role Mechanism βœ… Resolved

PD2 β€” Oracle Role Mechanism

Question: How does the oracle authenticate on-chain?

β†’ Decision: ORACLE_ROLE on PlatformPool (Feb 20, 2026)

Options considered:

  1. ORACLE_ROLE on PlatformPool β˜… β€” Add ORACLE_ROLE to AccessControl; Only wallets with this role can call updateNAV()
  2. Separate oracle contract auth β€” Oracle contract holds permission; More isolation but more interactions
  3. Multi-sig oracle β€” Multiple signers required per update; Most secure but impractical for frequent updates

Depends on: πŸ”΅ PD1 Β· Refs: Smart Contracts

PD3 β€” Oracle Operator βœ… Resolved

PD3 β€” Oracle Operator

Question: Who runs the oracle service?

β†’ Decision: Aset-operated (Feb 20, 2026)

Options considered:

  1. Aset-operated β˜… β€” Aset runs the oracle; Fund operators report NAV, Aset validates and posts on-chain
  2. Third-party service β€” Outsource to an oracle provider; Less burden but additional trust assumptions
  3. Decentralized β€” Multiple independent NAV reporters; Most trustless but complex for V1

Depends on: πŸ”΅ PD1 Β· Blocks: πŸ”΅ PD4 Β· Refs: Core Concepts, Writedown & NAV

PD4 β€” Oracle Offline Fallback βœ… Resolved

PD4 β€” Oracle Offline Fallback

Question: What happens if the oracle stops posting updates?

β†’ Decision: No fallback (Feb 20, 2026)

Options considered:

  1. Admin manual override β€” Admin can post NAV updates manually; Logged as admin_override in nav_history
  2. Auto-pause pool β€” Pool auto-pauses after X hours without update; Safest but disruptive
  3. No fallback β€” NAV stays at last known value until oracle resumes; Admin can manually pause for serious cases

Depends on: πŸ”΅ PD3 Β· Refs: Writedown & NAV, Admin & RBAC

PD5 β€” NAV Timelock Duration Open

PD5 β€” NAV Timelock Duration

Question: How long should NAV decreases be delayed before taking effect?

β˜… Recommended: 24 hours for decreases

Options:

  1. 24 hours for decreases β˜… β€” Decreases wait 24h before applying; Increases apply immediately; Gives investors time to react
  2. 48 hours β€” Longer buffer, safer for investors; Slower to reflect reality
  3. Per-pool configurable β€” Each pool sets its own timelock; Flexible but inconsistent protections

Depends on: 🟑 BD3 · Refs: Writedown & NAV, Triggers & Rules

Regulatory and legal structure decisions. Require legal counsel before finalizing.

L7 β€” SPV Ownership Model Open
L8 β€” SPV Jurisdiction Open
L9 β€” Escrow & Custody Model Open