Vault Contract
Source Modules
File
Purpose
Data Model
VaultConfig
VaultConfig {
borrower: Address, // Business receiving the loan
lent_token: Address, // Token being lent (e.g. USDC)
manager: Address, // Pool Manager who underwrote this vault
principal: i128, // Requested loan amount (7-decimal)
interest_rate: u32, // Annual rate in basis points (1000 = 10%)
loan_term: u32, // Term in months
split_ratio: u32, // % of payments routed to EMI pool (1–99)
permissioned: bool, // Whether only allowlisted investors can deposit
grace_period: u64, // Seconds after due date before default
phase: VaultPhase, // Current lifecycle phase
created_at: u64, // Creation timestamp
disbursed_at: u64, // Disbursement timestamp (0 if not yet)
funding_deadline: u64, // Deadline for full funding (0 = no deadline)
approval_deadline: u64, // Deadline for manager approval (0 = no deadline)
}VaultPhase
Lifecycle Diagram
Functions
Constructor
Investor Actions (RaisingFunds)
Function
Description
Manager Actions
Function
Description
Payment Actions (Active)
Function
Description
Deadline Enforcement (Permissionless)
Function
Description
Risk & Default (Active)
Function
Description
Renegotiation (Active or Defaulted)
Function
Description
Queries
Function
Returns
SEP-41 Debt Token
Function
Description
EMI Math (math.rs)
math.rs)Function
Description
Events
Event
Key Fields
When
Error Codes
Code
Name
Description
Last updated