How does billions of dollars flow from Sky Protocol through Spark and into DeFi lending markets? How is revenue calculated? How does it get distributed between Sky and Spark? This article provides the complete technical walkthrough of Spark's capital allocation system - everything you need to understand Sky's economics and the Prime Agent revenue model.
Why This Matters
Understanding Spark's capital allocation is essential for:
- Governance participants: Knowing how settlements are calculated and approved
- Protocol analysts: Understanding Sky's revenue model and Prime Agent economics
- Developers: Building tools that track debt, revenue, and settlements
- DeFi users: Understanding where sUSDS yield comes from
The Big Picture: How It All Works
Here is the complete lifecycle of capital through Spark:
flowchart LR
P1["1) Governance"] --> P2["2) Deploy"] --> P3["3) Earn"] --> P4["4) Settle"] --> P5["5) Execute"]
- Capital Lifecycle Phases:
| Phase | Action | Key Components |
|---|---|---|
| 1. Governance | Set debt ceiling, rate limits | Sky Governance, Executive Vote |
| 2. Deploy | Mint USDS, send to protocols | Vault → Buffer → Controller → Instances |
| 3. Earn | Yield accrues from lending | Aave, Morpho, SparkLend |
| 4. Settle | Off-chain P&L calculation | Amatsu, BA Labs, Core GovOps |
| 5. Execute | Mint debt, return profit | vat.suck(), vat.grab(), transferUsds() |
- Critical insight: Revenue for Prime Allocator Vaults is calculated off-chain through the Simplified Profit and Loss methodology and settled through Executive Votes that mint new debt on the allocator vault equal to the total revenue earned. This minted amount goes to Sky's Surplus Buffer, then Spark's profit share is returned to them. This design enables instance-level profit calculations and transparent verification in Stage 1 [1][2].
Part 1: The Contract Architecture
Spark's allocation system is built on a layered contract architecture that separates governance controls, role assignments, and execution logic. The contracts implementing this system are deployed on Ethereum mainnet and governed by Sky's PauseProxy [9].
The Three-Layer System
Spark's capital allocation uses a three-layer architecture defined by the Allocation System Primitive [10]:
flowchart TB
subgraph GOVERNANCE["GOVERNANCE"]
PauseProxy
Subproxy
end
subgraph ROLES["ROLES"]
Relayer["ALM Relayer"]
Freezer
end
subgraph CONTRACTS["CONTRACTS"]
Controller
RateLimits["Rate Limits"]
Proxy["ALM Proxy"]
Vault
Buffer
end
External["External Contracts"]
PauseProxy -->|"Exec Vote"| Subproxy
Subproxy -->|"Grant/Revoke"| Relayer
Subproxy -->|"Grant/Revoke"| Freezer
Subproxy -->|"Sets"| RateLimits
Freezer -->|"Freeze"| Controller
Relayer -->|"1) Calls"| Controller
Controller -->|"2) Checks"| RateLimits
Controller -->|"3) Txn Data"| Proxy
Proxy -->|"4) Execute"| External
Proxy <-->|"draw/wipe"| Vault
Vault <-->|"Mint/Burn"| Buffer
- Legend — Roles:
| Role | Description |
|---|---|
| PauseProxy | Sky Governance, controls Star's Subproxys and admin powers |
| ALM Relayer | Has power to call functions on Controller |
| Freezer | Has power to freeze all actions on Controller |
- Legend — Contracts:
| Contract | Description | Address |
|---|---|---|
| Subproxy | Star Treasury, grants/revokes roles, sets rate limits | 0x3300f198... |
| Controller | Permitted actions: deposit, withdraw, mint, burn, swap, bridge | 0x577Fa18a... |
| Rate Limits | Limits the rate and maximum of permitted allocation actions | — |
| ALM Proxy | Holds the Star Allocation System assets | 0x1601843c... |
| Vault | Mints & burns USDS (ALLOCATOR-SPARK-A) | 0x691a6c29... |
| Buffer | Transports minted & burned USDS to/from ALM Proxy | 0xc395D150... |
- Execution Flow:
| Step | Action |
|---|---|
| 1 | ALM Relayer calls function on Controller |
| 2 | Controller checks limit against Rate Limits |
| 3 | Controller sends transaction data to ALM Proxy |
| 4 | ALM Proxy executes action on External Contracts |
Why Stability Fees Are Zero
In Stage 1, stability fees for all Prime Allocator Vaults are set to zero via the SP-BEAM, so that all value transfers happen exclusively through Executive Votes [2]. This is the foundation of the off-chain settlement model:
| Aspect | Regular User Vaults | Prime Allocator Vaults |
|---|---|---|
| Stability Fee | Non-zero (e.g., 5%) | Zero (Stage 1) |
| Fee Accrual | Automatic, on-chain | None; minted at settlement |
| Interest Calculation | rate accumulator in VAT |
Off-chain Simplified P&L |
| Settlement | Continuous via drip() |
Monthly via Executive Vote |
| Revenue Mechanism | Automatic debt growth | Debt minted via vat.suck() + vat.grab() |
Why This Design?
- Instance-level granularity: Enables per-instance profit calculations across SparkLend, Aave, Morpho, etc.
- Flexibility: Allows for complex revenue share arrangements and penalty adjustments
- Transparency: Forum posts provide full calculation visibility before execution
- Stage 1 Compatibility: Supports the Simplified P&L methodology
USDT and pyUSD Exception
Two asset classes receive full profit-and-loss treatment (not floored at zero): USDT and pyUSD held by Spark in SparkLend or Spark's ALM Proxy. For these assets, Spark pays the Agent Credit Line Borrow Rate and realizes both profits AND losses — unlike standard instances where Instance Profit is floored at zero [2].
Rate Limits: The Safety System
The ALM Controller enforces rate limits to prevent rapid capital movements that could destabilize either party [9]:
flowchart LR
A["maxAmount"] --> B["slope"]
B --> C["lastAmount"]
C --> D["currentRateLimit"]
Formula:
currentRateLimit = min(slope × (now - lastUpdated) + lastAmount, maxAmount)Spark Example: maxLine=5B, gap=500M, ttl=24h → Can draw 500M/day, max 5B total.
Rate limits apply at multiple levels:
- Vault level: How much USDS can be minted (debt ceiling + gap/ttl)
- Instance level: How much can be deployed to each protocol
- Era system: Operators cannot incur losses exceeding
cappererainterval
Part 2: The Complete Capital Flow
Capital moves through five distinct stages, from governance approval of the credit line through deployment into yield-generating protocols and back to Sky through monthly settlement. Each stage involves specific on-chain interactions between the contracts described in Part 1.
Step 1: Credit Line Establishment
Before any capital flows, governance must approve the credit line:
flowchart LR
PROP["Proposal"] --> CEILING["Set Ceiling"] --> GAP["Set Limits"] --> RISK["Verify Risk Capital"]
- Parameters Set:
| Parameter | Value |
|---|---|
| Debt ceiling | 10B USDS (as of March 2026) |
| Gap | 500M USDS/day |
| Stability fee | Zero (set via SP-BEAM per Stage 1 directive) |
| Borrow Rate | Base Rate (Agent Credit Line Borrow Rate) |
- Risk Capital Requirements [10]:
- Junior Risk Capital (JRC): First-loss capital provided by Spark
- Senior Risk Capital (SRC): Second-loss capital from Sky's balance sheet
- Both must be in place before credit line is activated
Step 2: USDS Minting (Debt Creation)
When Spark needs capital:
sequenceDiagram
participant OP as Operator (RELAYER)
participant CTRL as ALM Controller
participant VAULT as AllocatorVault
participant VAT as VAT
participant BUF as AllocatorBuffer
OP->>CTRL: mintUsds(amount)
CTRL->>CTRL: Check rate limits
CTRL->>VAULT: draw(amount)
VAULT->>VAT: frob(ilk, amount)
Note over VAT: Creates debt position<br/>Art += amount<br/>(normalized debt)
VAT->>VAULT: USDS minted
VAULT->>BUF: Transfer USDS
BUF-->>OP: Success
- Technical details:
- Debt is tracked in VAT as
Art(normalized debt) ×rate(accumulator) - Since
duty(stability fee) = 0 in Stage 1, theratestays constant at 1.0 - Actual interest is calculated off-chain based on Agent Credit Line Borrow Rate [5]
- Settlement is executed monthly via Executive Vote
- Debt is tracked in VAT as
Step 3: Deployment to Instances
Capital flows from buffer to yield-generating protocols via the Spark Liquidity Layer [8]:
sequenceDiagram
participant OP as Operator
participant CTRL as ALM Controller
participant BUF as AllocatorBuffer
participant PROXY as ALM Proxy
participant INST as Instance (Aave/Morpho)
OP->>CTRL: deposit(instance, amount)
CTRL->>CTRL: Check instance rate limits
CTRL->>BUF: transferFrom(amount)
BUF->>PROXY: USDS transferred
PROXY->>INST: deposit(USDS)
INST-->>PROXY: aToken/shares received
Note over INST: Capital now earning yield
- Instance types and their characteristics:
| Instance | Liquidity | Yield Source | Risk Profile |
|---|---|---|---|
| SparkLend | Hours | Crypto borrowing demand | Smart contract risk |
| Aave Lido Market | Hours | Crypto borrowing demand | Smart contract risk |
| Morpho Vaults | Hours | Optimized lending rates | Curator + smart contract risk |
| Ethena (sUSDe) | Variable | Delta-neutral funding | Counterparty + depegging risk |
These instances are defined in the Spark Prime Agent Artifact [3].
Step 4: Revenue Generation
Throughout the month, yield accrues from deployed capital:
flowchart LR
D["Deployed Capital"] --> Y["Yield Accrues"] --> R["Monthly Revenue"]
- Revenue by Instance (Example Month):
| Instance | Deployed | APY | Monthly Revenue |
|---|---|---|---|
| SparkLend | $800M | 5.2% | $3.47M |
| Aave | $500M | 4.8% | $2.00M |
| Morpho | $400M | 6.1% | $2.03M |
| Ethena | $300M | 15% | $3.75M |
| Total | $2.0B | — | $11.25M |
Part 3: The Monthly Settlement Cycle (MSC)
The MSC is Sky's mechanism for reconciling Prime Agent operations with Sky Core. This is where the magic happens - where yield becomes revenue, and revenue gets distributed [1].
Why Off-Chain Settlement?
Unlike regular user vaults where stability fees accrue automatically on-chain, Prime settlements are calculated off-chain and executed via governance. This design enables:
- Complex revenue arrangements: Instance-by-instance profit calculations
- Transparency: All calculations posted publicly before execution
- Flexibility: Penalties and adjustments can be applied
- Verification: Independent calculations by multiple parties
The Calculation Methodology
This is the Stage 1 Simplified Profit and Loss Calculation [2]. For the full computational methodology including Agent Rate deductions, sUSDS adjustments, and Sky Direct Exposure treatment, see Debt-Based PnL Methodology.
flowchart TB
S1["Total Revenue"]
S2["Total Profit"]
S3["Adjusted Profit"]
S4["Amount Due to Sky"]
S1 --> S2 --> S3 --> S4
- Formulas:
- Instance Expense = Invested × Base Rate × (days / 365)
- Instance Profit = max(Instance Revenue - Instance Expense, 0)
- Adjusted Profit = Total Profit - Distortion Penalty - Low Yield ASC Penalty
Detailed Example Calculation
Let's work through a real example for a month:
Given:
- Spark's average deployed capital: $2,000,000,000
- Agent Credit Line Borrow Rate (Base Rate): 5.0% APY
- Month: 31 days
Instance-by-Instance Calculation:
| Instance | Deployed | Revenue | Expense | Profit |
|---|---|---|---|---|
| SparkLend | $800M | $3.47M | $3.40M | $0.07M |
| Aave | $500M | $2.00M | $2.12M | $0.00M* |
| Morpho | $400M | $2.03M | $1.70M | $0.33M |
| Ethena | $300M | $3.75M | $1.27M | $2.48M |
| Total | $2.0B | $11.25M | $8.49M | $2.88M |
*Note: Instance Profit cannot be negative. When Revenue < Expense, Profit = 0.
- Expense Calculation Formula:
Instance Expense = Deployed × (Base Rate / 365) × Days
Example (SparkLend): $800M × (0.05 / 365) × 31 = $3.40M
Penalties (if applicable):
- Distortion Penalty: 0-100% of Total Profit (discretionary)
- Low Yield ASC Penalty: MIN(10 × Excess Low Yield ASC %, 100%)
Final Settlement:
Adjusted Profit = $2.88M - $0 (penalties) = $2.88M
Amount Due to Sky = $11.25M - $2.88M = $8.37M
The Verification Process
MSC calculations go through a three-party verification process to ensure accuracy [14]:
flowchart LR
INITIAL["Initial Calc<br/>Amatsu<br/>(7 days)"]
INDEPENDENT["Independent Calc<br/>BA Labs<br/>(7 days)"]
FINAL["Final Calc<br/>Core GovOps<br/>(12 days)"]
INITIAL --> FINAL
INDEPENDENT --> FINAL
Allowed Deviation: If the Initial and Independent calculations differ by ≤1%, the amount is considered "Agreed" and no resolution is needed [15]. The Independent Calculation is performed by the Core Council Risk Advisor (BA Labs) [16], while the Final Calculation is produced by Core GovOps [17].
Disputed Amounts: If deviation exceeds 1%, Core GovOps works with all parties to resolve. Prime Agents can also submit a Dispute Notice within 5 days if they believe the calculation is incorrect.
How Settlement is Executed
The settlement mechanism uses a specific on-chain pattern. Here is the flow from the MSC #2 executive spell code, which established the _takeAllocatorPayment pattern used in all subsequent settlements [12]:
flowchart LR
A["1) takePayment"] --> B["2) suck + grab"] --> C["3) transferUsds"]
- Settlement Steps:
| Step | Function | Effect |
|---|---|---|
| 1 | _takeAllocatorPayment() |
Initiates revenue collection |
| 2 | vat.suck() + vat.grab() |
Vault debt ↑, Surplus Buffer ↑ |
| 3 | _transferUsds() |
Returns profit to Spark SubProxy |
- Real Example - MSC #4 (November-December 2025) [13]:
| Prime | Total Revenue Minted | Profit Returned | Net to Sky |
|---|---|---|---|
| Spark | 25,547,255 USDS | 7,071,339 USDS | 18,475,916 USDS |
| Grove | 14,311,822 USDS | 0 USDS | 14,311,822 USDS |
| Obex | 1,768,819 USDS | 442,327 USDS | 1,326,492 USDS |
- Why Grove received $0 profit: Grove's yields likely matched or fell below the Base Rate. Since Instance Profit = max(Revenue - Expense, 0), and Expense is based on the Base Rate, earning at or below the Base Rate results in zero profit.
The On-Chain Mechanism in Detail
function _takeAllocatorPayment(address vault, uint256 wad) internal {
bytes32 ilk = AllocatorVaultLike(vault).ilk();
uint256 rate = JugAbstract(MCD_JUG).drip(ilk);
uint256 dart = ((wad * RAY - 1) / rate) + 1;
// Step 1: Create sin[vow] AND dai[vow] simultaneously
VatAbstract(MCD_VAT).suck(MCD_VOW, MCD_VOW, dart * rate);
// Step 2: Increase vault debt, cancel out the sin
VatAbstract(MCD_VAT).grab(ilk, vault, address(0), MCD_VOW, 0, int256(dart));
}
- Key insight: Spark cannot unilaterally extract revenue. The total revenue is first minted as debt to the vault and collected by Sky, then Spark's profit share is returned via a separate transfer [6][7].
Part 4: Understanding the Rates
Three interconnected rates govern the economics of Spark's capital allocation: the Base Rate, the Sky Savings Rate (SSR), and the Agent Credit Line Borrow Rate. Understanding their relationship explains how Sky's revenue is generated and distributed.
The Rate Hierarchy
flowchart TB
BASE["Base Rate"] --> SSR
BASE --> BorrowRate["Borrow Rate"]
BASE --> AgentRate["Agent Rate"]
- Legend — Rates:
| Rate | Value | Who Benefits |
|---|---|---|
| Base Rate | ~5% | Reference rate for all others |
| SSR | ~4.5% | sUSDS holders earn this |
| Agent Borrow Rate | ~5% | Spark pays this to Sky |
| Agent Rate | ~4.9% | Primes earn on idle balances |
Why This Matters for Revenue
The spread between what Spark earns and what it pays to Sky is Spark's profit margin:
flowchart LR
Yield --> Cost["Cost (5%)"] --> Margin
- Spark's Profit Margin by Instance:
| Instance | Yield | Cost | Margin |
|---|---|---|---|
| SparkLend | 5.2% | 5.0% | +0.2% |
| Aave | 4.8% | 5.0% | 0%* |
| Morpho | 6.1% | 5.0% | +1.1% |
| Ethena | 15% | 5.0% | +10% |
*Negative margins are floored at zero — Spark absorbs underperformance.
Part 5: Actively Stabilizing Collateral (ASC)
Prime Agents must maintain liquidity for peg stability [11]:
Minimum Requirement
"Prime Agents must maintain at least 5% of their Collateral Portfolio in Actively Stabilizing Collateral."
What Counts as ASC
Resting ASC (provides buy support at ≥0.999 USDS/USD):
- USDC in LitePSM
- USDC in PSM3 (Base, Arbitrum, Unichain, Optimism)
- Cash stablecoins in Curve (paired with USDS)
- USDC in GUNI pools
Latent ASC (convertible to Resting within 15 minutes):
- Cash stablecoins in SparkLend, Aave, Morpho
- Cash stablecoins in Curve/Uniswap (not USDS-paired)
- Cash stablecoins in Prime ALM Proxy ← Important!
ASC Tracking
flowchart LR
PORTFOLIO["Portfolio: $2B"] --> REQ["5% Required: $100M"]
REQ --> ACTUAL["Actual ASC: $130M ✓"]
Example breakdown: PSM3 $80M + ALM Proxy $30M + Curve $20M = $130M total ASC
Penalty for non-compliance: Low Yield ASC Penalty reduces Adjusted Profit.
Part 6: The Surplus Buffer Role
The Surplus Buffer is central to understanding settlements [4]:
flowchart LR
Inflows --> Buffer["Surplus Buffer"] --> Outflows
- Surplus Buffer Flows:
| Inflows | Outflows |
|---|---|
| MSC settlements (Prime revenue) | SSR (sUSDS yield) |
| Stability fees (user vaults) | Agent Rate (Prime balances) |
| Liquidation penalties | Smart Burn Engine |
| PSM fees | Operational expenses |
- Key insight for settlements: At settlement time, the Executive Vote executes a two-step on-chain mechanism that increases the allocator vault's debt while simultaneously crediting the Surplus Buffer. Then, the Prime's profit share is sent from the Surplus Buffer to their SubProxy. See Part 3 for the detailed technical mechanism.
Note that certain assets in Spark's portfolio are classified as Sky Direct Exposures — assets Sky Protocol owns but implements through Prime Agent Allocation Systems (e.g., PSM USDC, Curve pool positions). Prime Agents bear no borrow rate on these, and all revenue flows to the Surplus Buffer.
Part 7: Complete End-to-End Flow
Here is the complete lifecycle visualization:
flowchart LR
A["1) Draw"] --> B["2) Deploy"] --> C["3) Earn"] --> D["4) Verify"] --> E["5) Settle"]
- End-to-End Lifecycle:
| Step | Action | Details |
|---|---|---|
| 1 | Draw USDS | Vault mints USDS to Buffer |
| 2 | Deploy | Controller sends to Aave/Morpho |
| 3 | Earn | Yield accrues throughout month |
| 4 | Verify | Amatsu + BA Labs → Core GovOps |
| 5 | Settle | Mint debt → Surplus → Return profit |
- Settlement Phase Roadmap [2]:
| Phase | Cadence | Automation |
|---|---|---|
| Phase 1 (current) | Monthly, manual | Executive Votes for all settlement |
| Phase 2 | Monthly, formalized | lpla-checker beacon monitors settlement |
| Phase 3 | Daily (16:00 UTC) | Automated settlement with 3-hour lock window |
In Phase 3, the Base Rate will accrue automatically on-chain, and Executive Votes will only be needed to settle remaining amounts (demand-side primitives, penalties, Agent Rate).
Part 8: Comparison with Other Primes
Spark is one of several Prime Agents in the Sky ecosystem, each using the same Allocation System Primitive infrastructure but targeting different markets. All share the AllocatorVault → AllocatorBuffer → ALM Controller architecture and participate in the same Monthly Settlement Cycle.
While Spark focuses on DeFi lending, other Primes use the same infrastructure differently:
flowchart LR
Core["Shared Core"] --> Spark
Core --> Grove
Core --> Keel
- Shared Infrastructure: All Primes use AllocatorVault → AllocatorBuffer → ALM Controller
| Aspect | Spark | Grove | Keel |
|---|---|---|---|
| Primary Markets | DeFi lending (Aave, Morpho) | CLOs, RWAs | Solana-native lending, RWAs |
| Liquidity | Hours | Days to weeks | Variable |
| Yield Source | Crypto borrowing demand | Corporate loan spreads | Lending spreads, RWA yields |
| Counterparties | Smart contracts | Asset managers, banks | Solana DeFi protocols |
| MSC Complexity | Moderate | High (redemption timing) | Moderate |
Key Takeaways
Credit Line, Not Grant: Sky provides a credit line at the Agent Credit Line Borrow Rate. Spark must generate yields above this rate to profit.
Zero Stability Fees, But Debt IS Minted: In Stage 1, Prime Allocator Vaults have zero stability fees (set via SP-BEAM). Revenue is calculated off-chain, and at settlement time, debt IS minted on the vault via
vat.suck()+vat.grab()to collect revenue.Two-Step Settlement: First, total revenue is minted as debt and goes to Surplus Buffer. Then, the Prime's profit share is returned to their SubProxy.
Revenue Split is Formulaic: Sky gets (Total Revenue - Adjusted Profit), Spark keeps Adjusted Profit.
Three-Party Verification: Initial Calculation (Operational Executor Agent) + Independent Calculation (Core Council Risk Advisor) + Final Calculation (Core GovOps). Allowed deviation is 1%.
Surplus Buffer is Central: All settlements flow through it - revenue collected first, then profit returned.
Rate Limits Protect Everyone: The ALM Controller's rate limits prevent rapid capital movements that could destabilize either party.
ASC Requirements: 5% minimum in Actively Stabilizing Collateral ensures USDS peg stability.
Instance Profit Floors at Zero: If an instance earns below the Base Rate, Spark absorbs that loss — Sky never receives negative profit from an instance. Exception: USDT and pyUSD have full P&L treatment (both profits and losses).
Frequently Asked Questions
Q: Can Spark withdraw revenue without governance approval?
No. All settlements require Executive Vote approval. Spark cannot unilaterally extract funds.
Q: Why not just use on-chain stability fees like regular vaults?
In Stage 1, stability fees are set to zero via the SP-BEAM so that all value transfers happen through Executive Votes. This enables instance-level profit calculations, transparent three-party verification, and flexible penalty adjustments — none of which are possible with purely automatic on-chain accrual. In later phases, the Base Rate will accrue automatically on-chain, and Executive Votes will handle remaining settlement components.
Q: What happens if Instance Revenue < Instance Expense?
Instance Profit is floored at zero. Spark absorbs losses on underperforming instances; they can't pass negative profit to Sky.
Q: How often does settlement happen?
Monthly in Phase 1 (current). Phase 2 formalizes monthly settlement with automated monitoring. Phase 3 targets daily settlement at 16:00 UTC.
Q: What if settlement calculations disagree?
Multiple parties calculate independently. If difference exceeds 1% (Allowed Deviation), Core GovOps resolves the dispute. Primes can also submit Dispute Notices.
Related Articles
- Spark Protocol - Overview of Spark as Sky's first Prime Agent
- Debt-Based PnL Methodology - Full computational methodology for MSC calculations
- Allocation System Primitive - The underlying infrastructure
- Sky Direct Exposures - Assets Sky owns but implements through Prime Agents
- Diamond PAU Architecture - EIP-2535 upgrade to the ALM Controller
- Direct Deposit Modules - Historical predecessor (D3M)
- Sky Savings Rate - How SSR is funded from protocol revenue
- Actively Stabilizing Collateral - ALM requirements
- Grove - Alternative allocation path for RWAs
- Keel - Solana-native capital allocation
- Obex - Incubator Prime Agent for emerging allocators
Sources
- Sky Core Monthly Settlement Cycle - A.2.4
- Stage 1 Simplified Profit And Loss Calculation - A.2.4.1.2.2.1.1
- Spark Prime Agent Artifact - A.6.1.1.1.2.6.1
- Surplus Buffer - A.3.5.1
- Agent Credit Line Borrow Rate - A.3.1.2.5
- Payment of Amounts Due to Prime Agents - A.2.4.1.2.1.4.1
- Collection of Amounts Due from Prime Agents - A.2.4.1.2.1.4.2
- Spark Liquidity Layer Documentation
- dss-allocator GitHub Repository
- Allocation System Primitive - A.2.2.9.1
- Minimum Actively Stabilizing Collateral - A.3.3.2.2
- Executive Spell Code - _takeAllocatorPayment Implementation
- MSC #4 Settlement Summary (November and December 2025) - Sky Forum
- Initial Calculation by Operational Executor Agent - A.2.4.1.2.1.2.1
- Allowed Deviation - A.2.4.1.2.1.3.3
- Independent Calculation by Core Council Risk Advisor - A.2.4.1.2.1.2.2
- Final Calculation by Core GovOps - A.2.4.1.2.1.3