Send an event when a customer does something worth rewarding. Scrip runs your rules, records what changed, and keeps every balance right through refunds, expiration, and redemption.
A rewards API is an API for running a points or rewards program. Your product reports what customers do, a purchase, a referral, a milestone, and the API decides what each action earns, tracks every balance, and handles spending the value later. The logic and the accounting live behind the API instead of in your codebase.
Teams pick one up in two situations: they're adding rewards and don't want to build earning, balances, and redemption from scratch, or their homegrown system is cracking: balances drift after refunds, promos stack in ways nobody modeled, and month-end totals never quite add up.
Six stages, each one a documented API surface you can call directly.
Two calls: define a rule, then send events as they happen. The API answers 202 Accepted and finishes in the background; your webhook hears when it's done. Send the same idempotency key twice and you get the original event back, never a second credit.
The quickstart walks the whole flow, from creating a program to verifying the first balance.
curl -X POST https://api.scrip.dev/v1/rules \
-H "Authorization: Bearer $SCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"program_id": "YOUR_PROGRAM_ID",
"name": "10 Points per Purchase",
"condition": "event.type == \"purchase\"",
"actions": [
{ "type": "CREDIT", "asset_id": "YOUR_ASSET_ID", "amount": "10" }
]
}'curl -X POST https://api.scrip.dev/v1/events \
-H "Authorization: Bearer $SCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"program_id": "YOUR_PROGRAM_ID",
"external_id": "user_123",
"idempotency_key": "first-purchase-001",
"event_timestamp": "2026-07-05T12:00:00Z",
"event_data": { "type": "purchase", "amount": 49.99 }
}'Both get you a program. The difference is who builds what your customers see.
Ships the whole program: enrollment pages, campaign tools, email, widgets, and a console for marketers. Faster if standard mechanics fit and you're comfortable with the platform's screens in front of your customers. If that's you, a platform is the honest answer.
Gives you the primitives: events, rules, a ledger, balances, redemption. You build what customers see; the API keeps the program correct underneath. The fit is rewards that live inside your product, with accounting that has to satisfy finance and auditors.
Scrip is the second kind. Operators still get a dashboard for rules, participants, and reporting, but your customers only ever see your product.
Tell us how your program earns and redeems today and we'll map it to Scrip, or start with the quickstart.
The same ledger runs cards & banking, retail & ecommerce, marketplaces & platforms, subscriptions & SaaS, and AI products & agent platforms programs. More on why we build it this way is on the about page.