Move money out of pots automatically!

Here’s a guess. As per @glasgow’s comment above:

Standing orders and transfers (in Monzo nomenclature “scheduled payments”) - in a similar fashion to how you describe direct debits - need to go out after salaries go in (i.e. Bacs direct credits) so that there is money there to fund them. The developer who implemented taking money out of pots likely used all the same infrastructure - dispatching a job to the queue that runs at 3am. However, the developer likely forgot that a scheduled payment out of a pot operates more like a Bacs direct credit than it does a standing order - the user is being paid; it’s just that they are paying themselves.