Thinking about this a bit. You could consider using the Trust Level system in Discourse. Similar to how TL0 isn’t allowed to send PMs, you could restrict posting Marketplace to TL1 and higher.
It’s a small speed bump for real participants, but it cuts spam massively.