Achievements, offers, and live events. One API.

The engagement layer for any website or app: gamification, first-party promotions, and timed events that no other vendor bundles.

// track an event; unlocks evaluate server-side
await promocean.track('lesson_completed')

// double-progress weekend? one config change
const events = await promocean.getLiveEvents()
// [{ name: 'Weekly Happy Hour', multiplier: 2,
//    state: 'live', endsAt: '...' }]

// spend earned points on a reward
await promocean.claimReward('free-month')

Everything between "user did a thing" and "user came back"

Competitors sell you gamification or promotions or loyalty. Real products need all three wired together, and that wiring is the hard part.

Timed events as a first-class primitive

Double-points weekends, flash promos, recurring happy hours. Lifecycle webhooks (live, ending soon, ended), progress multipliers, countdown widgets. Everyone else hand-assembles this from cron jobs.

recurrence: daily | weekly | monthly

Achievements & progress

Event-count criteria, tiered artwork, retroactive backfill, idempotent ingestion, and unlock webhooks. Progress clamps at target; multipliers never over-award.

Points, streaks, leaderboards

Per-event and per-unlock awards in one transaction. Windowed rankings.

Rewards & coupons

Points-priced rewards minting unique or shared codes, with race-safe inventory and one-time redemption.

First-party offers

Placements, impressions, clicks, CTR stats. Offers can attach to live events.

Built like infrastructure, not a widget farm

Developer-first

REST API with OpenAPI generated from the same zod contracts that validate every route. TypeScript SDK with retries and idempotency. React widgets under MIT. test and live keys from day one, free.

Marketer-usable

Campaign definitions live in a CMS admin, not in code. Marketing ships a flash promo without a deploy; engineering keeps the runtime plane.

Config as code

Export a project's whole configuration to one JSON file, review it as a diff, apply it per environment. promocean import --dry-run exits 2 on drift, ready for CI.

Privacy-aware

No PII beyond the external user id you choose. One-call GDPR-style erasure. Signed webhooks with replay guidance.

Priced on active users. Only active users.

MAU means a distinct user with at least one tracked event this month. Dormant users are free. Test-mode usage is always free. No API features gated to top tiers.

Free
$0
1,000 MAU included
  • Full API, no feature gates
  • Test + live environments
  • Community support
Join the cloud waitlist
Growth
$99/mo
10,000 MAU included
  • Everything in Free
  • Signed webhooks at scale
  • Email support
Join the cloud waitlist
Scale
$299/mo
50,000 MAU included
  • Everything in Growth
  • Priority support
  • Usage API for reconciliation
Join the cloud waitlist
Enterprise
Custom
Custom MAU
  • SLA + data residency
  • Commercial license included
  • Migration assistance
Ask about licensing

Comparable platforms charge $99/mo for 1,000 active users of gamification alone, or gate API access behind $700+/mo loyalty tiers. Promocean's free tier is ten times larger and the bundle includes promotions, timed events, and rewards.

Open core, honestly split

Everything you embed is MIT

The SDK, React widgets, shared schemas, and the config-as-code CLI carry the MIT license, so nothing copyleft ever touches your codebase. Self-host the whole GPL platform yourself, unmetered, forever.

@promocean/sdk MIT
@promocean/widgets MIT
@promocean/contracts MIT
@promocean/cli MIT

Need the platform without GPL terms?

The runtime API, CMS, and adapters are GPL-3.0. If your legal team needs different terms for an embedded or white-label deployment, a commercial license for the platform is available.

Read the commercial licensing terms

Prove the loop in fifteen minutes

Clone the repo, run one Docker command, and watch an achievement unlock live in the demo app: toast, badge cabinet, points, and stats included.