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

  1. Event01

    Your service records what happened

  2. Match02

    Rules matching the event are selected

  3. Evaluate03

    Conditions, caps and limits applied

  4. Issue04

    The engine decides value is owed

  5. Settle05

    The wallet service writes the ledger entries

  6. 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

rules.jsontypescript
{
  "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.