Ads Marketplace Contest — Results & Insights
50+ submissions received.
We reviewed every entry: manual code review, product testing, and AI-assisted codebase analysis.
The spread was wide — from empty repos to solid MVPs.
Common issues we found:
1. Channel Stats
In our view, the best approach for channel analytics is MTProto’s method stats.getBroadcastStats — it gives you subscribers, avg views, Premium ratio, language breakdown, growth charts, all from one call. That said, we were open to other original solutions that could reliably deliver the same data — as long as the implementation was your own, not a call to an external analytics API.
In practice, most submissions claimed «verified channel stats» but only called getChatMemberCount via Bot API — which gives you subscriber count and nothing else.
2. Payments and Escrow
The most common area of weakness. Most projects did integrate with TON in some form, but the implementation quality varied a lot.
Some of the recurring issues:
– All deals sharing one wallet with no fund isolation — one security breach and everything is compromised
– Fund release and refund operations that aren’t safe to retry — if the service crashes mid-process, funds can be sent twice or never sent
– No locks or atomicity in background workers handling payments — race conditions leading to duplicate transactions
– Transaction verification that doesn’t actually check the blockchain
In general, any operation involving money needs to be designed for the worst case: crashes, retries, concurrent calls. This applies also to ad posting, not just escrow.
Some of these are understandable in an MVP context, but they still influenced how we evaluated the submissions.
3. Broken demos
Some demos weren’t functional, and self-deploy instructions were missing or incomplete. In those cases, hands-on product testing wasn’t conducted.
4. Overengineered Flows
Surprisingly common. Many projects added unnecessary complexity on top of the cor…
Read in full →