Skip to content

Engagement-Only Mode ​

Run FAST as a pure gamification layer on your sportsbook without the challenge/funded-account system.


What You Get ​

  • Missions (time-boxed tasks with rewards)
  • Wagering bonuses (playthrough-based promotions)
  • Tournaments (competitive leaderboard events)
  • Loyalty program (points, tiers, cashback)
  • Achievements (badges and milestones)
  • Reward rules (automated trigger-based rewards)
  • Embeddable widget (shows all of the above)
  • Real-time SSE events
  • Full webhook coverage

What You Don't Get ​

  • Challenge purchases (users don't buy challenge tiers)
  • Funded accounts (no virtual balance management)
  • Bet validation rules (odds limits, stake limits, etc.)
  • Shadow ledger (balance tracking)
  • Withdrawal flow (profit split calculations)

Setup ​

1. Configure Tenant Modules ​

Ask FAST support to set your tenant to engagement-only, or configure via super-admin:

json
{
  "modules": {
    "challenges": false,
    "bonuses": true,
    "missions": true,
    "tournaments": true,
    "loyalty": true
  }
}

2. Forward Bet Events ​

Same API as full mode. Send all bet placements and settlements:

bash
curl -X POST https://api.fundedfast.eu/v1/bets \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "player-42",
    "externalBetId": "BET-001",
    "stakeAmount": 5.00,
    "odds": 2.10,
    "status": "placed"
  }'

Without challenges enabled, bets are always accepted (no ruleset validation). They feed into engagement engines immediately.

3. Use Standalone Reward Types ​

Configure missions, achievements, and reward rules with these types:

TypeYour backend does
free_betCredits a free bet to the user
bonus_creditAdds bonus balance to the user
cashback_creditCredits cashback amount
loyalty_pointsFAST handles (adds to loyalty balance)
customWhatever you define (merch, VIP access, etc.)

4. Handle Webhooks ​

FAST emits reward.granted when any reward fires:

json
{
  "eventType": "reward.granted",
  "userId": "player-42",
  "data": {
    "rewardId": "550e8400-e29b-41d4-a716-446655440000",
    "rewardType": "free_bet",
    "rewardValue": 500,
    "applyMode": "auto"
  }
}

Your backend receives this and credits the 5 EUR free bet in your sportsbook.

5. Embed the Widget ​

html
<script
  src="https://cdn.fundedfast.eu/widget.js"
  data-api-base="/api/v1"
  data-api-key="pk_your-widget-key"
  data-user-id="player-42"
></script>

The widget auto-detects which modules are enabled and only shows relevant tabs (missions, bonuses, tournaments, loyalty, rewards). No challenges tab appears.


SDK Integration ​

typescript
import { FastClient } from '@fundedfast/sdk';

const fast = new FastClient({ apiKey: process.env.FAST_API_KEY! });

// Forward bets (engagement-only - always accepted)
await fast.bets.ingest({
  userId: 'player-42',
  externalBetId: 'BET-001',
  stakeAmount: 5.00,
  odds: 2.10,
  status: 'placed',
});

// Check user missions
const missions = await fast.admin.missions.getUserMissions('player-42');

// Get loyalty status
const loyalty = await fast.admin.loyalty.getUserLoyalty('player-42');

Architecture ​

Your Sportsbook --> [FAST API: /v1/bets] --> accepted (always)
                                                |
                                                v
                                    [Post-bet hooks fire]
                                    /    |    |    |    \
                              Missions Bonuses Tournaments Loyalty Achievements
                                    \    |    |    |    /
                                                v
                                    [Reward granted]
                                                |
                                                v
                                    [Webhook: reward.granted]
                                                |
                                                v
                              [Your backend: credit free bet / bonus / etc.]

FAQ ​

Q: Do I still need to send settlements (won/lost)? A: Yes. Settlements update mission progress (bets_won criteria), tournament scores (net_profit), and loyalty cashback calculations.

Q: Can I later add challenges? A: Yes. Enable the challenges module and challenge-coupled reward types will start being consumed on purchases. No migration needed.

Q: What about the widget showing "Buy Challenge"? A: With challenges: false, the widget doesn't show the challenges tab or shop. Only engagement modules appear.

Q: Is the pricing different for engagement-only? A: The same plans apply. Bonuses, missions and tournaments are included on Growth and Enterprise; loyalty is Enterprise only. Revenue share is calculated on engagement activity instead of challenge fees.

BLACKLINE CONSULTING d.o.o.