Wasabi Wallet is a wallet that implements CoinJoin. It is open source and written in C#. The package includes Tor and all traffic goes through it, so IP addresses are well hidden. It is very easy to install and use. The wallet includes all standard privacy tech like a Deterministic wallet and warnings against address reuse, as well as a nice interface for choosing which UTXOs to spend which can help with coin control. The wallet uses Client-side block filtering to obtain its own transaction history in a private way.
CoinJoins happen between users without any liquidity provider middlemen. The coinjoins happen at fixed times when a coinjoin round happens, which is approximately once every hour and a half. These figures are correct as of 2018.
User's wallets connect to a centralized server which coordinates the CoinJoin. The wallet uses chaumian blind signatures (which is very similar to the cryptography used in blinded bearer certificates) so that this server or anyone else does not learn the true linkage between transaction inputs and outputs. The server is run by the zkSnacks company which has developed Wasabi Wallet, the company makes its income by taking a small fee (of 0.03% per participant as of 2018) from each coinjoin transaction.