I just answered a similar question from IOTA, so I'll just copy the answer here.
Both buyer and seller should post an escrow deposit and the contract should last at least 3 months until it expires after which the escrow is returned if neither party disagrees (this takes care of either party dying or losing keys etc). Also the contract should be able to expire if both parties want so. And the contract should terminate successfully when the buyer has received the tokens (when the IOTA network eventually launches and is declared safe to do transactions on) and the seller has received the payment (BTC or perhaps even BitBay).
Download the client from OP for the latest public version. Until we get the new release there's only a client for windows. When the new release is ready we will have mac and linux as well. The client comes with an installer, so just follow the instructions. Make a backup of your keys right away. If you don't you probably don't care enough to remember to do so later and might be heading for trouble if disk crashes etc. Now you have to wait for the client to sync. This can take a day or two depending on your computer and connection.
Some have reported problems connecting to the network. I can't remember if that was with the client or the QT wallet. A conf file will solve that.
I can't remember if the client has a conf file with adnodes. If it doesn't you can write write one yourself in notepad. Copy paste the following into a new doc:
addnode=104.236.208.150
addnode=188.166.39.223
addnode=128.199.118.67
addnode=104.255.33.162
addnode=194.135.84.161
addnode=23.227.190.163
Save it as bitbay.conf in /BitBay/bitbaydata
Be aware that it sometimes takes a little while for the client to establish the first contact with the network
To speed up the syncing you can use the bootstrap in OP, or use http://cryptochainer.com
Bootstrap is a little faster than syncing over the network, but still takes a long time. Replacing the files needed for the blockchain with the download from cryptochainer is very fast, so if you trust them you can be up and running in 15-30 minutes.
Now get some Bay. The leading Bay exchange is Bittrex.
When you have transfered your Bay to your client, you are good to go.
If you are the first to buy or sell IOTA tokens, I suggest you open a new market for this and have others follow you there. Go to the market tab, click add/join market, and name your new market IOTA.
Now go to the home tab and click custom contract. Click normal contract in the window that will pop up. New window will appear. In the dropdown choose your new made IOTA market. Tick of the other choices to your liking and click accept. A contact form will appear. If you don't want/need to supply any contact info you can type a single character in the email box, and click "save profile and continue" You are now taken to the "make an offer" tab. If no contact info etc is needed you could have gone directly to "make offer". The difference is that by going the custom template route fills in the correct address to post this to.
Fill out the form in "make an offer". We recommend double deposit escrow, but you can set any deposit you want. The deposit also doesn't have to be the same for buyer and seller. There is a spam preventing minimum deposit of less than 1 Bay.
At the bottom of the form you set the time for the contract. You may want to set it for just a little longer than you think is needed. If the contract expires before the deal is done, the deposit it is lost. A very strong incentive to not just fulfill the deal, but also to stick to the time frame.
For now it is not possible to do this the other way around like you wanted, meaning the deposit is automatically returned if no one disagrees.
When the deal is done, both parties go to their open contracts tab in the client and report the deal fulfilled. When both have done so the deposits will be released simultaneously to both parties.
Tip: You can use the client as a market for anything for any coin. The double deposit will have to be Bay because that's the only currency the client is able to freeze, but the payment could be in any coin. You can also make "members only" markets by adding a new market with a name that is hard to hit by coincidence.
For more info visit our site at bitbay.market or come to our thread on BCT https://bitcointalk.org/index.php?topic=890531.new#new