The trade is carried on chain, like
www.shapeshift.io is doing. They claim that Buy Coins Instantly No Account Needed.
Shapeshift.io is fine for bitcoin/altcoin trading. But, when u want to trade FIAT, u can not do it on chain. They are talking about bitUSD, but that actually require some central authorities to issue those bitUSD. I have read the whitepaper of bitsquare, openbazaar etc. None of the so called decentralized exchanges dealing with FIAT have actually been able to make the system completely trustless, because it is simply impossible to take a centralized token like FIAT working in a decentralized trustless system.