Saving a payment and then publishing "PaymentSucceeded" is two writes to two systems. One of them will eventually fail. The outbox pattern turns it into one write, with runnable EF Core code.
A decimal doesn't know its currency, its precision or how to split itself. A small Money type does, and it turns a whole class of silent bugs into loud ones. Runnable C# 14 and EF Core code.
A balance column tells you a number. A ledger tells you why. How to make recorded transactions the single source of truth for a wallet, with runnable EF Core code.