И решается это ... барабанная дробь ... очередями! Rabbitmq, Kafka и другими вариантами. Кстати, Хранить баланс прямо в пользователе - плохая идея.
А если хорошо подумать то надо читать про идемпотентные операции и не снимать деньги со счета, а создавать изначально транзакцию и ее закрывать, Ама фоне, асинхронно, пересчитывать баланс