Rewards

Pre-built rewards engine for consumer apps

Award bonus points, discount codes, or any custom prize when users hit milestones, then let them redeem it in your app. Configure reward triggers in the dashboard without having to build your own rewards engine.

Powering gamification experiences for 1M+ users

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

Read our customer stories

Rewards engine

Motivate your users with prizes and rewards

Create points rewards or custom rewards, award them automatically, and let users redeem them when they are ready.

Points rewards
Grant bonus XP, coins, or any other points when a reward is redeemed, with boosts and points caps applied.
Custom rewards
Hand out discount codes, free months, or physical prizes, fulfilled through your own internal systems.
Redeemable rewards
Rewards wait until users redeem them, giving you a natural moment for a celebration screen or animation.

Reward triggers

Offer rewards for any milestone

Award rewards when users reach a metric threshold, extend a streak, complete an achievement, or finish a leaderboard at a specific rank.

Any milestone
Combine metric, streak, achievement, and leaderboard triggers on one reward.
Target specific users
Limit rewards and individual triggers to users with specific attributes like subscription plan or country.
Redemption limits
Cap how many times each user can earn a reward to keep your rewards budget under control.

Rewards analytics

See which rewards users redeem

Track awards and redemptions over time, compare trigger types, and measure what points rewards pay out.

Awards and redemptions
Compare how many rewards are awarded with how many are redeemed to spot rewards users ignore.
Compare trigger types
See which milestones award the most rewards so you can tune thresholds and ranks.
Measure points cost
For points rewards, see the points actually redeemed, including boosts and points caps.

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.
rewards.ts
// Track a workout (reward triggers are configured // in the dashboard / MCP) const event = await trophy.metrics.event('workouts', { user: { id: user.id }, value: 1, }) // Any rewards this event awarded, ready to celebrate console.log(event.rewards) // List the user's rewards that are waiting to be redeemed const unredeemed = await trophy.users.rewards(user.id, { redeemed: false, }) // Redeem when the user taps "Redeem". Points rewards // grant points, custom rewards fire reward.redeemed const redemption = await trophy.rewards.redeem('streak-bonus', { user: { id: user.id }, })
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

> Add a redeemable 500 XP reward for 7-day streaks and a free month of Pro for winning the weekly leaderboard

Listed Trophy MCP tools · read rewards docs

(ctrl+o to expand)

I'll create both rewards with their triggers:

  1. Create a points reward that grants 500 XP
  2. Create a custom reward for a free month of Pro
  3. Add a leaderboard trigger to the Pro reward

rewards.create({ name: 'Streak bonus', key: 'streak-bonus', type: 'points', pointsSystemId: 'xp', points: 500, triggers: [{ type: 'streak', streakLength: 7 }] })

rewards.create({ name: 'Free month of Pro', key: 'free-pro-month', type: 'custom', maxRedemptions: 1 })

rewards.triggers.create({ rewardId: 'free-pro-month', triggers: [{ type: 'leaderboard', leaderboardId: 'weekly-xp', rank: 1 }] })

Both rewards and their triggers 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.
reward.awarded
Trophy
reward.redeemed
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

210ms

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 rewards work in Trophy?
A reward is awarded automatically when a user meets one of its triggers, like reaching a streak length or finishing first on a leaderboard. The reward then waits until the user redeems it in your app. Rewards can grant points on redemption or fulfill custom prizes through your own internal systems.
What is the difference between rewards and points triggers?
Points triggers add points to a user’s balance as soon as they fire. Rewards are only applied when they are redeemed, so users get a redemption step in your product, and they can grant things other than points with custom rewards. Use points triggers for automatic points and rewards when users should redeem something you own.
Can I give rewards that aren’t points?
Yes. Custom rewards do nothing inside Trophy apart from alerting your internal systems so you can fulfill discount codes, free subscription months, gift cards, or physical prizes. We'll be adding more built-in reward types soon.
How do users redeem rewards in my app?
Your app can show a “You earned a reward” message the moment a user earns one, and a list of every reward they still have to redeem. When they tap redeem, Trophy redeems the reward and either grants the points or alerts your internal systems to fulfill the prize.
Can I limit who earns a reward and how often?
Yes. Set a redemption limit to cap how many times each user can be awarded a reward, and add user attribute filters to the reward or to individual triggers to target specific cohorts like paid subscribers or a single country.