DEV Community

Sundeep Mann
Sundeep Mann

Posted on Originally published at 7pillars.com.au

The Hardest Part of Building a Betting App in Australia Isn't the Odds Engine

If you're scoping a sports betting app for the Australian market, the interesting engineering problems — live odds, real-time state, payment rails — are the ones everyone talks about. They're not the reason these projects blow past their timeline and budget.

The part that actually reshapes the architecture is compliance, and it's specific enough to Australia that a lot of teams don't plan for it until it's already too late to bolt on cleanly.

Why this isn't just a legal checkbox

Three regulatory pieces directly change how you'd design the system, not just what disclaimers you show:

  • State/territory wagering licenses + the federal Interactive Gambling Act 2001 — this determines which betting products you're even allowed to ship, before you finalize the feature set.
  • AUSTRAC AML/CTF obligations — real KYC before any deposit/withdrawal, plus ongoing transaction monitoring.
  • BetStop (Australia's National Self-Exclusion Register) — a mandatory check against a registry, wired into account creation and login, not a one-time signup gate.

None of these are "add a Terms of Service page" problems. They're architecture decisions.

Where it actually hits your request flow

A simplified signup/deposit flow for a compliant AU betting app looks less like a typical fintech onboarding flow and more like this:

POST /signup
  -> create_pending_account(user)
  -> call KYC_provider.verify(user)      # GreenID or ConnectID
       if fail -> reject_signup()
  -> call BetStop.check(user)            # National Self-Exclusion Register
       if excluded -> block_account(user)
  -> activate_account(user)

POST /deposit
  -> AML_monitor.evaluate(transaction)   # AUSTRAC-aligned pattern detection
       if flagged -> hold_for_review(transaction)
  -> process_payment(transaction)
Enter fullscreen mode Exit fullscreen mode

Two things worth noting for anyone architecting this:

  1. BetStop isn't a one-time check. It needs to run at signup and be re-checkable on an ongoing basis, since a user can self-exclude after already having an account. That's a background job or webhook pattern, not just an inline call.
  2. AML monitoring is closer to a fraud-detection pipeline than a validation step. Most teams underestimate this and treat it like input validation, when it's really an event-driven system watching transaction patterns over time — which is also where a lot of teams reach for something like Kafka or a similar event bus if volume justifies it.

What this does to cost and timeline estimates

If you've seen "cost to build a betting app" articles quoting a wide range like AUD 25,000–300,000, this compliance layer is most of why the range is so wide. A basic single-sport app with minimal compliance work sits at the low end. A platform with full KYC, BetStop integration, AML monitoring, and multi-state licensing support is a fundamentally bigger build — not because the UI is more complex, but because there's a whole compliance subsystem running alongside the product.

Timeline-wise, this pushes most serious builds into a 6–12 month range, and the variable that moves that number most isn't feature count — it's whether compliance architecture was designed in during discovery, or discovered during QA.

The actual takeaway for anyone scoping one of these

If you're speccing a betting app, the first technical conversation shouldn't be "what's our tech stack" — it should be "what does our AUSTRAC and licensing obligation require us to build around." Everything else in the architecture ends up downstream of that answer.

I wrote a fuller breakdown of the cost ranges and compliance requirements specific to Australia here, if useful: Sports Betting App Development Cost in Australia

Curious if anyone here has actually built the AML/fraud-detection side of one of these — did you go event-driven from day one, or bolt it on after launch?

Top comments (0)