Regarding item trading/sales: take a note from Diablo III, Blizzard had to shut the auction house down completely after a glitch enabled some players to create millions if gold which they then cashed out for real money. It’s not exactly the same, since there is no “cash-out”, but even in this case it’s not something which any app or game which utilizes in app purchasing can simply do. Even without a glitch, you’ve likely noted gem costs are static when purchasing them, but fairly random when using them.
Gems can be purchased at the cost of money, but can be used to buy Iron, Gold, fight refills, expedited training and building, but most significantly here special offer packages with ascension materials. Whatever the case, trading and buying from other players even as mediated by the devs will require devs to change a whole lot of things, and perhaps even file legal/financial paperwork.
It turns the app developers into heads of a small-publicly traded corporation of sorts, and requires players to be more specifically monitored.