TransferWise is a global technology company that is building the best way to move money around the world and 6M users are transferring more than $5 billion every month with us. All transfers within TransferWise are processed by strict state machine rules handled by "Transfer Service". The state machine has a lot of different states like "New", "Money Received", "Converted", "Transferred", and the Transfer object itself contains the most basic data like source/target values and all necessary IDs of linked domain objects which other micro-services use to execute their part of the processing job. In this talk, I will go through TransferWise transfer flow and show how we scaled the transfer state changes workload - internally defined as transfer audit log - by moving it from a relational DB to a sharded MongoDB cluster. I will also go through the JSON "schema" modelling and how we defined the audit log shard key.