Challenge
For developers

Real-money infrastructure, two script tags deep.

Two script tags. One init call. A new revenue stream for your game — with no accounts, payments, or player screens to build.

index.html
<script src="https://api.withchallenge.com/widget/dist/island-stub.js"></script>
<script async src="https://api.withchallenge.com/widget/dist/island.js"></script>

<script>
  Challenge.init({ program: '<<YOUR_PROGRAM_ID>>' });
</script>

Any game can pay its players.

Puzzles, speedruns, arcade classics — Bounties and tournaments drop straight in, and Challenge funds the prizes.

Every game qualifies

A revenue stream for games that never had one — solo runs, puzzles, speedruns.

Zero prize risk

Challenge funds every prize and carries the exposure. You never hold player money.

Monetize from launch day

House-funded tournaments run with no calibration wait — a purse and a live leaderboard on day one.

Engineering you don't have to build.

The hard parts of real-money play — priced, monitored, and guaranteed by Challenge.

Fair bars keep players paying

Every bar is priced from your players' real scores — beatable enough to keep them trying, never a number you have to tune.

Challenge.record('score', 1420)
High Scorecalibrating · 0 / 1,000
Real play is setting the bar. Free for players.

Zero cost to your load time

A 2KB stub paints the pill before your page finishes loading — your performance budget doesn't notice we're there.

island-stub.js2 KB · sync · painted
island.jsasync · takes over
// calls made in between are queued — nothing lost

Mispricing can't hurt you

Every live Bounty's pass rate is monitored around the clock — a bar gone soft takes itself off sale before it costs anyone trust.

bounty.suspended

Disputes designed out

The player always got exactly the deal they saw — terms freeze at payment, and an unfinished round refunds itself. Nothing to arbitrate, ever.

startAttempt()→fee charged→bar + prize frozen
60:00 no outcome→attempt.refunded

Safe for you. Fair for them.

You never touch player money — and money never moves on anything a player can fake.

01

Nothing to leak

Only a public program ID lives in your client. Secrets stay on your server — a compromised browser can't spend a cent.

02

Cheaters can't cash out

Scores enter only from your authenticated server, after the fee is already charged. There is no client path to money.

03

Compliance handled

KYC, age checks, state gating, responsible gaming — carried by Challenge, so you ship a game, not a gambling desk.

An afternoon, not a sprint.

  • The whole build is on the right: a snippet, one record call, one server POST.
  • Prove the entire flow on sandbox keys before a real dollar moves.
  • Flip to your live key and earn a monthly revenue share on every Bounty — we only make money when you do.
the whole integration
<script src="https://api.withchallenge.com/widget/dist/island-stub.js"></script>
<script async src="https://api.withchallenge.com/widget/dist/island.js"></script>
<script>Challenge.init({ program: '<<YOUR_PROGRAM_ID>>' })</script>

// after every round, paid or free
Challenge.record('score', points)

// server-side, when a paid round ends
POST /v1/attempts/{attemptId}/outcome
X-API-Key: sk_live_...

{ "score": 2140 }

What you ship, and what we run.

Two script tags in the browser, one reporting call from your server. Everything else is ours.

You ship

  • Two script tags in your HTML
  • Challenge.record() after each round
  • One server POST with the score

// that's the whole list

We run

  • Accounts, sign-in, deposits, payouts
  • Bounty pricing, calibration, drift watch
  • Tournaments, purses, settlement
  • KYC, age checks, state compliance
  • Every screen the player sees

Start earning from every attempt.

Challenge for Players

Create an account, deposit funds, and compete for real money in games you already play.

Challenge for Developers

Add Challenge to your game and start earning from every match. Integration takes minutes.