It has to be done with programable money. Hive isn't very programable.
So, the only way to unlock a payment is with your keys. So, if you list to buy something there really isn't any way for me to force payment to go through.
With Hive.Engine we can program the transaction to go through and use swap.hive to complete if-then statements. If they agree to sell X at Y price send this money. Since i can't access your Hive I can't gaurentee the transaction goes through and thus it isn't trustless.