Files
papers/lux-credit-lending/sections/06-risk-management-framework.tex
zeekayandHanzo Dev 178febad68 papers: reconcile T-Chain -> M-Chain / F-Chain / B-Chain per LP-134
Every rendered "T-Chain" / "ThresholdVM" / "teleportvm" reference across
the paper corpus is rewritten to the correct canonical chain by concern:
threshold signing / MPC / bridge custody / key recovery -> M-Chain (MVM);
FHE / encrypted compute / threshold decryption -> F-Chain (FVM); teleport
/ cross-chain messaging -> B-Chain (bridgevm); consensus Pulsar stays
Q-Chain. Section lux-trust-kernel/03-t-chain-threshold-governance.tex
renamed -> 03-f-chain-encrypted-policy.tex (with \input + xref fixes).
Braided "T-Chain" sections split by concern (M vs F). Only lp-020's
chain-separation rationale and the shared lux/chains/thresholdvm library
path retain the name, to record the removal. All changed papers rebuilt
(pdflatex, rc=0, no undefined refs).

ยง09 of lux-dao-governance-framework reframed: fabricated "production
deployment" metrics ($50M/$240k/$12M, survey %s, "as of Oct 2024")
relabeled as illustrative design configurations with no invented
replacements; reality noted (DAO treasury is a 1/1 Safe); conclusion
echo + one "first production" overclaim softened.

This commit also captures concurrent corpus workstreams on the same tree.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-02 00:57:09 -07:00

59 lines
1.7 KiB
TeX

\section{Risk Management Framework}
\subsection{Liquidation-Resistance by Design}
Lux Credit's risk model is designed to avoid liquidations through:
\begin{enumerate}
\item \textbf{Conservative LTV}: Start at 85\%, max 90\%
\item \textbf{Yield Buffer}: 11\% APY exceeds debt growth
\item \textbf{Dynamic Monitoring}: Real-time health factor tracking
\item \textbf{Emergency Reserves}: 10\% protocol-owned buffer
\item \textbf{Grace Periods}: 30-day warning before liquidation
\end{enumerate}
\subsection{Health Factor Calculation}
\begin{lstlisting}[language=Solidity, basicstyle=\small\ttfamily]
function calculateHealthFactor(
bytes32 loanId
) public view returns (uint256) {
Loan memory loan = loans[loanId];
// Current collateral value in USD
uint256 collateralValue = getOraclePrice(loan.asset)
* loan.collateralAmount
/ 1e18;
// Outstanding debt in USD
uint256 debtValue = loan.debtAmount;
// Accumulated yield reduces debt
uint256 yieldGenerated = calculateYield(loanId);
debtValue -= min(yieldGenerated, debtValue);
// Health factor = collateral / debt
uint256 healthFactor = (collateralValue * 1e18) / debtValue;
// Safe if > 1.11 (90% LTV)
return healthFactor;
}
\end{lstlisting}
\subsection{Risk Tiers}
\begin{table}[h]
\centering
\begin{tabular}{@{}lrrr@{}}
\toprule
\textbf{Health Factor} & \textbf{Status} & \textbf{Action} & \textbf{Users} \\ \midrule
> 1.25 & Safe & None & 87\% \\
1.15 - 1.25 & Caution & Email warning & 11\% \\
1.05 - 1.15 & At Risk & Add collateral prompt & 2\% \\
< 1.05 & Critical & Liquidation notice & 0\% \\ \bottomrule
\end{tabular}
\caption{Health factor distribution (illustrative design target)}
\end{table}