This paper is concerned with optimal market making in the foreign exchange market. The market maker's holdings in the different currencies are modelled as stochastic processes that are influenced by both the stochastic exchange rates and the stochastic customer buy and sell orders. The market maker can control their own bid and ask price quotes and, additionally, can buy and sell at other market participants' quotes. The resulting stochastic control problem consists of a controlled diffusion problem for the optimal quotes and a singular control problem for optimal trades at other market participants' quotes. A Markov chain approximation is used to derive optimal strategies