SAWEM Phase 1 — Trading Simulator
An overnight, single-repo simulator of the South African day-ahead net pool — DAM → IDM → balancing → settlement — with bilateral PPAs settling as CfDs against the System Marginal Price. Wager: legitimacy beats sophistication. Every cleared price is replayable to the cent.
Cleared
Hour 18 — peak
Open the receipt, replay, verify in your browser or CLI.
Buyer
Large-customer settlement
CfD vs SMP · NBC line-itemised · imbalance priced · signed Rand.
Direct contestable-buyer onboarding (eligibility ≥1 MVA, registration, SAWEM-School) is on the roadmap — Phase 1 lands here directly.
Generator
Solar BW5 plant — vesting reconciliation
Scheduled · metered · curtailed · vesting CfD · mirror-confirmed to buyer.
Municipality
Indirect via CPA — onboarding flow
Direct-BRP registration is prudential-collateral-blocked; route via the CPA.
Public
Market monitor — no login
DP aggregates · 24-cell hour grid · CSV/JSON · text-only twin.
Trader
Phase 1 — wheeling channel only
Sandbox shadow bids · "Try live auction" demonstrates the rejection.
Regulator
Market monitor — surveillance
RSI withholding · wash-trade · price-spike — each flag explainable + chain-escalated.
Multilingual welcome
- English: Welcome — South African Wholesale Electricity Market (shadow mode)
- isiZulu: Sawubona — (long-form translation under review) (translation under review)
- Afrikaans: Welkom — Suid-Afrikaanse Groothandelselektrisiteitsmark (skadumodus)
Determinism: integer cents, integer MW-minutes, tie-break price ASC → ts ASC → party_id ASC.
Seed for the demo auction is fixed at 42. The CLI verifier imports the
same clearHour() module the server uses; settlement lines that are not anchored in
Trading Rules R2 (e.g. just-transition) carry the persistent
illustrative placeholder chip.