Gamification engine · Events in, engagement out
Your systems send events. Flyhalf runs your flows — awarding points, badges and prizes, moving leaderboards, and messaging people on WhatsApp, email and push. You watch engagement move.

How it works
One POST from your store, app or POS. Any JSON payload — orders, check-ins, referrals, reviews.
POST /v1/eventsDrag triggers, conditions and actions on a visual canvas. Test against sample events before you publish.
trigger → condition → actionPoints, badges, prizes and rank changes — delivered by WhatsApp, email or push, webhooked back to you.
webhook: reward.awardedFlow builder
That's a real flow, built in two minutes. Branching conditions, delays, variable tokens like { event.payload.total } — versioned, testable, published when you say so.
Explore flows →AI Badge Studio
"Flat enamel-pin style, bold outlines, warm palette. Coffee-shop loyalty: cups, beans, sunrise streaks. Tiers in bronze, silver, gold."
12 assets · 3 tiers · 4 themesPick an anchor, add themes, and the studio keeps every badge in the same visual family. Regenerate any single cell. Swap in your own art anytime.
GENERATED FAMILY · Coffee-shop loyalty
Enamel pinRewards & prizes
Points and badges are half of it. When a flow owes someone a real prize, Flyhalf fulfils it three ways — pick per reward.
Bulk-import vouchers or gift codes from a CSV. Flows hand out one per winner and the pool draws down as codes are claimed — with low-stock warnings before you run dry.
Connect a third-party rewards API and mint a fresh code the moment someone qualifies. No stockpile to manage, nothing to reconcile by hand.
Let participants redeem points against a catalogue you set. Every claim checks the balance, debits the append-only ledger, and never oversells.
Channels
WhatsApp is first-class — not an icon in a row. Template messages, delivery receipts and opt-out handling built in, alongside email and push.
For developers
curl -X POST https://api.flyhalf.io/v1/events \ -H "Authorization: Bearer fh_live_…" \ -H "Idempotency-Key: evt_9f31" \ -d '{ "type": "order.completed", "participant": "cus_84h2", "payload": { "total": 349.00 } }' → 202 accepted · signed receipt in 41ms
Every message and webhook, traceable end-to-end. Replay from the dashboard.
Duplicate events never double-award. Ledger integrity is non-negotiable.
Consent-aware messaging, data residency options, full participant export.
Test flows against sample events. Nothing reaches a real customer until you publish.
Engagement funnels, badge distribution and points-economy health — read straight from the dashboard.