Platform
Describe what earns value. The engine does the rest.
Event-driven reward rules that version cleanly, run against real business events, and issue value without a custom backend.
Problem
Loyalty logic ends up scattered across a codebase
Reward rules start as one condition in a checkout handler. A year later the same logic exists in four services, nobody can say why a customer received 50 points, and changing a rule means a deployment.
The people who should own reward rules — marketing, operations — cannot touch them, and the engineers who can are the bottleneck.
Solution
Rules as data, not code
Your application records events: an order completed, a lesson finished, a match won. Rules describe which events earn what, under which conditions, with which limits.
Rules are versioned. When one changes, previously issued rewards remain attributable to the version that produced them, so a balance can always be explained.
Architecture
From business event to balance
- Event01
Your service records what happened
- Match02
Rules matching the event are selected
- Evaluate03
Conditions, caps and limits applied
- Issue04
The engine decides value is owed
- Settle05
The wallet service writes the ledger entries
- Notify06
Webhooks and customer notification
Features
What the layer provides
Event-driven rules
Rules react to events you already emit, rather than a parallel reward API.
Rule versioning
Every issuance references the rule version that produced it.
Caps and limits
Per-customer, per-period and per-rule ceilings enforced at evaluation.
Idempotency
A replayed event does not double-issue.
Simulation
Run a rule against historical events before it goes live.
Expiry and reversal
Rewards can expire on schedule and be reversed when an order is refunded.
Use cases
What businesses run on it
Spend thresholds
Orders above a value earn a multiplier, capped per month.
Referrals
Both sides rewarded once the referred customer completes an action.
Streaks
Consecutive visits or sessions unlocking escalating value.
Tiers
Status derived from rolling activity rather than a manual flag.
API preview
A rule, expressed as data
{
"name": "Large order bonus",
"on": "order.completed",
"where": { "properties.amount": { "gte": 100 } },
"issue": { "assetId": "ast_points", "amount": 50 },
"limits": { "perCustomer": { "count": 4, "period": "month" } }
}Illustrative. The API surface is fully specified but not yet served; this snippet does not call a live service.
Ready to build your digital economy?
Matinee AI has no public signup. Tell us what you want to launch and we will review the request.