Fighting Game · Guides & deep dives

V2 Maat Finance Ledger

spend/refund decisions, regulatory caps, and reconciliation planning.

3sections1 minread

On this page

V2 uses @maat/finance as the source of truth for economy decisions that need pricing, refund, and regulatory-cap checks. V2Persistence remains the local in-engine cache for offline play and save serialization.

Contract#

  • @maat/finance exports v2-persistence-ledger.ts for regional pricing, spend/refund decisions, regulatory caps, and reconciliation planning.
  • @v2/maat-finance-ledger composes that contract for V2 services.
  • Unreal mirrors the contract with FV2MaatFinanceLedgerPolicy, FV2CurrencyLedger::ApplyMaatFinanceTransaction, and FV2CurrencyLedger::NeedsOnlineReconciliation.
  • @maat/finance is registered as a V2Services adapter for the Maat domain.

Offline Cache#

If online authority is unavailable, V2 may apply a locally validated spend or refund to the in-engine ledger cache. Those entries carry:

  • MaatFinanceDecisionId;
  • bRegulatoryCapChecked;
  • bRequiresOnlineReconciliation.

The next online sync must submit the cached decision ids to Maat for final reconciliation before cross-progression or cloud save can treat the ledger as authoritative.

Rollback Boundary#

Finance decisions are off rollback. Rollback frames never call Maat; they only consume already-accepted local persistence state.