Every on/off-ramp conversion needs a real ledger counterparty, so the house account concept is extended from a single NORMAL row per currency to four system-scoped types (NORMAL/RESERVE/FEE_REVENUE/CAPITAL). initSystemAccounts now seeds all four per active currency, getSystemAccount takes an explicit type, and a data migration backfills the new treasury rows for currencies seeded before this deploy.