Measure & earn
Payouts
You keep 70% of net ad revenue in your game: what brands spend, minus any disclosed agency commission. Earnings become available 30 days after they're earned, and you can withdraw once you have at least $50 available.
Revenue share
- Every billed event (a viewable impression, an engaged player or a click, depending on how the brand bids) splits 70% to you and 30% to Bonus Round.
- When an ad agency places a campaign for a brand, the agency earns a disclosed 15% commission on that campaign's spend first, and the 70/30 split applies to the rest: on $100, $15 to the agency, $59.50 to you and $25.50 to Bonus Round. Your earnings page shows agency-placed revenue separately. See net revenue in the Publisher Terms.
- The 30% covers everything on our side: agents learning your game, generating each brand's Bonus Round for your game, hosting, serving and measurement. There are no setup fees and no separate charges.
- Brands prepay, so the money for every event you're credited for already exists. Spend stops at a zero balance.
When money becomes available
| State | Meaning |
|---|---|
| Pending | Earned in the last 30 days. Payouts are net-30. |
| Available | Earned more than 30 days ago (net-30) and not yet paid out. |
| Paid | Sent to your bank through Stripe. |
The earnings page shows all three, plus your next payout date: the first day your available balance reaches the $50 minimum.
Set up payouts
Open Earnings & payouts
In the dashboard: Earnings & payouts.
Connect with Stripe
Payouts go through Stripe Connect Express. Stripe collects your identity and bank details directly; Bonus Round never sees your bank account number.
Withdraw
Once at least $50 is available, request a payout. Stripe usually lands it in your bank within a few business days.
Earnings via the API
curl https://bonusround.io/api/billing/earnings -H "Authorization: Bearer $BONUSROUND_API_KEY"
{
"balanceMicros": 81250000, // available now: $81.25
"pendingMicros": 23400000, // inside the 30-day window
"paidMicros": 150000000,
"nextPayoutAt": 1791244800000,
"minPayoutMicros": 50000000,
"netDays": 30,
"history": [ … ]
}
All money in the API is integer micros: 1 USD = 1,000,000.
What isn't paid
- Test-mode traffic and
break('test')rounds. - Events the ad server rejects (expired or tampered tokens, duplicates), and requests from pages that aren't on your game's domains, which are never filled.
- Demo-account data. It's labelled “Demo data” everywhere it appears.