sica-fondt/core/docs/plans/M3e-tokenomics-macro-sims.md
Claude 3bdf25509d
Economy organ spec review: data flow corrections, toolchain decisions, typo fix
- M3 hub: predictions publish continuously to Marketplace via M2 (not trader-queried)
- M3 BoundedPrediction: three quality metrics (confidence, correctness, certainty)
- M5 traders: read predictions from Marketplace, mixed roster (LLM + bots)
- M7 SAE: monitors at Marketplace level (the only trader interface)
- M6 Conductor: clarified as LLM, not rule-based
- M4 wallets: one multi-chain wallet per trader, strictly 1:1
- M1 Marketplace: added query_predictions interface for traders
- M3d/M3e: Fortran 2018, gfortran, fpm, OpenBLAS, hand-rolled numerics
- M3b typo: "literao" -> "literal"
- SessionStart hook: added gfortran, fpm, Tcl, ECLiPSe Prolog, Zig, Foundry
- Stub fpm.toml for M3d (mev sims)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-17 09:19:38 +00:00

122 lines
8.1 KiB
Markdown

# M3e — Tokenomics & macro-state sims
## 1. Component
Macro-level token economy simulation: models **token supply dynamics, monetary policy (halvings,
burns, inflation), lending protocol dynamics, DeFi systemic risk, and stock-flow balances** using
stochastic differential equations (SDEs), state-space models, kinked interest rate curves, and
inter-protocol credit exposure networks. Pops here are **aggregate behavioral cohorts**
(miners/validators, holders, speculators, protocol treasuries, borrowers/lenders) whose collective
behavior drives token-level dynamics across **six concurrent time horizons** at tick-advanced, 90:1 (1s wall = 90s sim).
Grounded in Vienna complex-systems token modeling [7], ResearchGate engineering token economy
frameworks [6], Aave/Compound kinked interest rate models (industry standard), and DeXposure
inter-protocol credit propagation (Matzakos et al. 2025).
## 2. Status / certainty
DESIGN-FIRST · ABSENT. SDE state-space framework C4 (Vienna [7]); stock-flow modeling C4
(ResearchGate [6]); kinked interest rate model C5 (Aave/Compound production standard);
DeXposure inter-protocol credit propagation C3 (emerging, 2025 — high DeFi specificity);
composable yield optimization C4 (Yearn v3, Beefy, production-validated). Specific parameters C1.
## 3. Language & location
**Fortran 2018** (gfortran) · `src/economy/sims/tokenomics/`. Build: **fpm**. Dependencies:
**OpenBLAS** (LAPACK/BLAS via native Fortran interfaces). Hand-rolled: Box-Muller RNG, SDE
solvers, JSON I/O against fixed schemas. SDE solvers (Euler-Maruyama, Milstein), state-space
estimation, and VAR impulse responses are dense matrix-heavy loops where Fortran's array
intrinsics and zero-overhead numerics dominate; same language as M3d avoids a toolchain split
across the heaviest numerical sims.
## 4. Does / does-not
- **Does:** simulate token state dynamics via the SDE framework:
$dX_t = f(X_t, u(X_t, t), t)dt + \sigma(X_t, t)dW_t$ where $X_t$ is the system state vector,
$u$ is the behavioral policy function, deterministic drift captures programmatic parameters
(halvings, burns), and Brownian motion $\sigma dW_t$ captures stochastic behavioral shocks;
model stock-flow balances (circulating supply, staked, locked, burned); simulate monetary
policy impacts (halving events, fee burns, treasury emissions); model **lending protocol
dynamics** via kinked interest rate curves:
$R = R_0 + R_{\text{slope1}} \times U$ if $U \leq U_{\text{opt}}$,
$R = R_0 + R_{\text{slope1}} \times U_{\text{opt}} + R_{\text{slope2}} \times
(U - U_{\text{opt}})$ if $U > U_{\text{opt}}$ where $U = \text{Borrowed}/(\text{Supplied} +
\text{Borrowed})$, $U_{\text{opt}} \approx 0.8$ — cascade liquidations when
$\text{collateral} \times \text{LTV} < \text{borrowed}$; model **DeFi systemic risk** via
DeXposure inter-protocol credit propagation:
$E_{ij}(t) = \sum_{\text{tokens}} [\text{TVL}_j(\text{token}) \times
\text{ownership}_i(\text{token})]$ with VAR impulse responses for shock contagion across
protocols sharing collateral; model **composable yield optimization**:
$\max \sum_i w_i(t) \cdot \text{APY}_i(t) - \lambda \sum_i w_i(t)^2 \sigma_i^2(t)$
subject to $\sum_i w_i = 1$ dynamic rebalancing across lending, LP, and staking strategies;
produce bounded predictions on token supply, protocol health, yield, and systemic risk.
- **Does-not:** model individual transactions (M3c/M3d); model social sentiment (M3b);
model consensus mechanics (M3f); execute yield strategies (Traders/Marketplace do).
## 5. Interface contract
- Implements `query(PredictionQuery) -> BoundedPrediction` per M3 hub.
- **Output bounds:** SDE confidence bands, utilization rate ranges, contagion impact intervals.
- **Time-horizon mapping** (all run concurrently, tick-advanced, 90:1 (1s wall = 90s sim)):
| Horizon | Primary models | Update cadence |
|---------|---------------|----------------|
| Hourly | Lending rates, utilization, liquidation risk | Every block |
| Daily | Yield optimization, protocol TVL flows | Hourly roll |
| Weekly | SDE supply trajectory, stock-flow balances | Daily roll |
| Monthly | DeXposure credit contagion, systemic risk | Weekly roll |
| Annual | Halving/burn policy impacts, inflation trajectory | Monthly roll |
| 5-year | Token supply long-run equilibrium, protocol lifecycle | Quarterly roll |
- Examples:
`{ value: 2.1, lower_bound: 1.4, upper_bound: 3.2, confidence: 9.00,
time_horizon: "90d", sim_type: "tokenomics_macro" }` annualized inflation rate (%).
`{ value: 0.67, lower_bound: 0.58, upper_bound: 0.74, confidence: 8.50,
time_horizon: "30d", sim_type: "tokenomics_macro" }` staking ratio.
`{ value: 0.83, lower_bound: 0.78, upper_bound: 0.91, confidence: 8.80,
time_horizon: "1h", sim_type: "tokenomics_macro" }` Aave ETH utilization rate.
`{ value: 0.12, lower_bound: 0.04, upper_bound: 0.25, confidence: 7.20,
time_horizon: "7d", sim_type: "tokenomics_macro" }` systemic contagion risk index.
- **Prediction types:** `supply_trajectory`, `inflation_rate`, `staking_ratio`,
`velocity_estimate`, `halving_impact`, `treasury_runway`, `utilization_rate`,
`liquidation_cascade_risk`, `systemic_contagion_index`, `optimal_yield_allocation`.
- Calibration: ingests `on_chain_event` (supply metrics, staking data, lending protocol state,
TVL) from M2.
## 6. Dependencies & stubs
- M2 Data Feeds on-chain supply/staking/lending data; *stub:* canned supply snapshots.
- M3 Sims hub lifecycle management; *stub:* manual init.
## 7. Invariants / laws
- **L1 (C5):** the SDE framework is the **canonical representation** all token dynamics are
expressed as drift + diffusion. Deterministic policy (halvings, burns) lives in the drift $f$;
behavioral uncertainty lives in the diffusion $\sigma dW_t$.
- **L2 (C5):** **stock-flow conservation** tokens are never created or destroyed outside the
protocol's defined mechanisms. circulating + staked + locked + burned = total ever minted.
- **L3 (C5):** lending rate curves are **kinked at $U_{\text{opt}}$** the steep slope above
optimal utilization is a design invariant of Aave/Compound, not a parameter to smooth.
- **L4 (C4):** macro sims operate on **aggregate cohorts, not individuals** the state vector
$X_t$ tracks population-level quantities (total staked, total circulating), not per-wallet.
- **L5 (C4):** DeXposure contagion is **directional** protocol A's exposure to protocol B
is not symmetric. The exposure matrix $E_{ij}$ is not assumed symmetric.
## 8. Build steps
1. Implement Euler-Maruyama SDE solver for a simple token model (supply + staking).
2. Define the state vector $X_t$ and drift/diffusion functions for a reference token.
3. Add stock-flow accounting (verify conservation).
4. Implement kinked lending rate model (Aave-style) with liquidation cascade simulation.
5. Implement DeXposure credit propagation network with VAR impulse responses.
6. Implement composable yield optimizer (risk-adjusted return maximization).
7. Wire M2 on-chain data state estimation / calibration.
8. Add monetary policy events (halving, burn) as drift discontinuities.
## 9. Tests
SDE: sample paths have correct mean (matches drift) and variance (matches diffusion). Stock-flow:
conservation holds across all time steps. Halving: supply growth rate drops at halving event.
Lending: rate curve exhibits kink at $U_{\text{opt}}$; liquidation cascades triggered when
collateral ratio breached. DeXposure: shock to protocol A propagates to protocol B through shared
collateral; isolated protocols unaffected. Yield: optimizer rebalances toward highest risk-adjusted
APY. Calibration: state estimate converges to observed data. Bounds: SDE confidence bands cover
realized paths on backtest. Speed: sim tick-advances at 90:1.
## 10. Open items
- Which tokens to model initially (ETH? BTC? a specific alt?).
- State vector dimensionality (how many state variables per token model?).
- Behavioral policy function $u(X_t, t)$ how to parameterize aggregate cohort behavior.
- Multi-token interactions (correlated diffusions across tokens?).
- DeXposure graph granularity (how many protocols? top-10 by TVL?).
- Lending model extensions (Morpho AdaptiveCurveIRM? variable kink parameters?).