Points systems

Pre-built points system for consumer apps

Award XP, coins, or any other points based on in-app behaviors without a custom points engine. Add levels and boost multipliers, and track every award in a full points ledger. Update points logic in the dashboard without a new app release.

Powering gamification experiences for 1M+ users

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

Read our customer stories

Points engine

A pre-built points engine

Build points systems like XP, coins, or energy using a flexible points engine. Make updates without new releases.

Flexible points engine
Build points systems like XP, coins, or energy using a flexible points engine with earn and burn mechanics.
Zero maintenance
Reward users for any in-app behavior without a custom points engine.
Ship updates without new releases
Modify points logic in the dashboard and push live instantly without constantly shipping new releases.

Points boosts

Deploy limited-time points multipliers

Create boosts that multiply points for specific actions or cohorts. Change multipliers in the dashboard and measure how awards shift.

Limited-time points multipliers
Apply temporary multipliers to points logic for key calendar events, holidays, or other promotional campaigns.
Target specific user cohorts
Segment boosts to specific user groups including subscription tiers, location-based, or behavior-based cohorts.
Monitor boost impact
See how boosts change points awarded so you can tune multipliers and targeting.

Levels

Create progression systems with points levels

Create custom levels to reward users for reaching specific points thresholds. Automatically progress users through levels based on their points.

Custom level thresholds
Define custom thresholds for each level to reward users for reaching specific points milestones.
Analyze level distribution
See how users sit across levels so you can adjust thresholds and pacing.

Points analytics

Balance points awards and iterate on logic

Measure points earned by trigger, maintain balance, and update logic from the dashboard without new releases.

Points balancing
Measure and optimize points earned to keep rewards fair and consistent with the user experience.
Compare triggers
See which actions award the most points so you can rebalance the economy.
Iterate on logic
Update point values from the dashboard and watch how points award volume and balances change.

Gamification software for modern product teams

The only gamification platform built for the modern era. Control via API or MCP and wire into your development workflow across multiple environments.

Official Gamification SDKs

NodeJS
Go
Java
.NET
PHP
Python
Ruby
First-class APIs for fast-moving teams
Idempotent, retry-safe, time-zone aware. Designed to feel obvious the first time you read the docs.
points.ts
// Award XP when a user completes a workout // (points triggers are configured in the dashboard / MCP) const event = await trophy.metrics.event('workouts', { user: { id: user.id }, value: 1, }) // Trophy credits XP from your metric trigger, // enforces maxPoints, and returns award details console.log(event.points) // Read current balance, awards, level, and maxPoints const points = await trophy.users.points(user.id, 'xp') // Read daily points history for charts const history = await trophy.users.pointsEventSummary(user.id, 'xp', { aggregation: 'daily', startDate: new Date('2026-01-01'), endDate: new Date('2026-01-31'), }) // Read level configuration and active points boosts const levels = await trophy.points.levels('xp') const boosts = await trophy.points.boosts('xp')
Control everything via MCP
Connect Trophy to MCP clients like Cursor and Claude Code and configure features without touching the dashboard.

Trophy MCP

Sonnet 4.6 · 8 tools loaded

> Set up an XP points system with levels and add a campaign boost for a VIP segment

Listed Trophy MCP tools · read points and boosts docs

(ctrl+o to expand)

I'll wire points, levels, and an admin boost flow:

  1. Create an XP points program with metric triggers
  2. Expose level metadata for the profile experience
  3. Add a temporary multiplier boost for VIP users

points.create({ name: 'XP', key: 'xp', triggers: [{ metric: 'sessions-completed', threshold: 1, points: 25 }], maxPoints: 10000 })

points.levels.list({ key: 'xp' })

points.boosts.create({ systemKey: 'xp', boosts: [{ userId: 'usr_vip', multiplier: 2, name: 'VIP weekend' }] })

XP, levels, and boost automation are configured in staging, should I promote these changes?

Connect your stack via webhooks
Trigger workflows in third-party tools and internal systems in real time based on changes in Trophy.
points.changed
Trophy
points.level_changed
Customer.io
Knock
OneSignal
Mixpanel
Amplitude
Develop, test, and deploy across environments
Separate dev, staging, and production environments with their own keys, data, and configuration. Promote changes with confidence.
Production
Staging
Pre-prod
Jason Dev
Charlie Dev
Keith Dev

Scale with confidence

Trusted by startups and enterprises alike. Scale seamlessly from your first to your millionth user.

Scale from first user to millionth
Latency, throughput, and uptime that hold up as your user base grows.

150M

API requests · 30D

just now

229ms

p95 latency · 24H

just now

100.0%

Uptime · 90D

Secure by design
Encryption in transit and at rest, scoped API keys, and privacy-first defaults out of the box.
  • Data encryption

    TLS 1.2+ in transit and AES-256 at rest

  • Privacy-first

    Trophy operates without PII by default

  • Secure API keys

    Rotation and revocation on demand

Reliable at scale
Fault tolerance, rate limits, and idempotent APIs keep gamification logic dependable under load.
  • Fault tolerant

    Automatic failover through redundancy

  • Rate limited

    Per-endpoint limits maintain fair use

  • Idempotent

    Retry requests without side-effects

FAQ

Frequently asked questions

Have a different question and can’t find the answer you’re looking for? Send us an email.

How do points systems work in Trophy?
Trophy awards points automatically when users trigger configured actions through metric events, with earn and burn mechanics for systems like XP, coins, gems, or energy. You define which behaviors award how many points in the dashboard and modify logic live without constant app releases.
How does Trophy keep points balances trustworthy?
Trophy maintains a fully traceable points ledger on the server and applies built-in idempotency and deduplication so each award is atomic and only applied once, even if the same event is sent multiple times. That server-side ledger helps prevent cheating and farming.
Can I run multiple points currencies in one app?
Yes. Trophy supports multiple independent points systems in the same app — for example XP for progression and coins for a virtual economy. Each system has its own point values, boost rules, and optional maxPoints cap configured separately in the dashboard.
What are points boosts and levels?
Points boosts are limited-time multipliers Trophy applies to specific actions or cohorts, and you can track how they change points awarded in Trophy analytics. Levels let you define custom point thresholds and Trophy automatically progresses users as they reach each milestone.
How do I balance a points economy?
Trophy points analytics show points earned by trigger so you can keep awards fair, compare which actions pay out most, and change values in the dashboard without a release.