# Scrip > Rewards infrastructure API backed by a double-entry ledger. Send events, define earn rules, and operate loyalty and incentive programs without building the accounting. Scrip is a rewards-as-a-service platform for teams building card programs, retail loyalty, platform incentives, and subscription rewards. You send transaction or user-action events to the API; Scrip resolves the participant, evaluates your rules, and records resulting balance changes in the ledger. Scrip can model complex rewards program constructs. Key capabilities: - **Ledger**: Double-entry journal entries on an append-only, hash-chained transaction log. Balances are derived, never stored directly. Supports holds, releases, reversals, and FIFO lot-level expiration. - **Rules engine**: CEL-based conditions with configurable actions. Versioned, per-program, hot-reloadable. Multipliers, promos, tier rates, and stacking logic are all runtime-configurable. - **Event processing**: Idempotent ingestion with client-supplied keys. Safe for retries, replays, and out-of-order delivery. Supports single and batch ingestion. - **Programs & assets**: Multi-program, multi-asset, isolated at the ledger. Run separate programs per customer, segment, or product line with independent rules, assets, and participants. - **Assets**: Configurable units of value (points, credits, cashback). Two inventory modes: SIMPLE (single balance) and LOT (individual credits with expiration and vesting). Prefunded or unlimited issuance. - **State management**: Tags, counters, and key-value attributes on participants and groups for tracking activity, eligibility, and segmentation. - **Redemptions**: Amount-based redemptions and a rewards catalog with inventory limits, pricing, and availability windows. Two-step confirmation, partial reversals, and statement credits. - **Transfers**: Atomic fund movements between participants and groups within a program. - **Tiers**: Ranked progression tracks with qualification criteria, retention periods, and downgrade policies. - **Groups**: Participant collections with shared wallets, budgets, and member roles. - **Automations**: Cron, one-time, immediate, and participant-state-driven event generation for expiration, statements, milestone bonuses, and counter resets. - **Webhooks**: Real-time HTTP callbacks for balance changes, redemptions, tier transitions, and other domain events. - **Reporting**: Ledger summaries, program activity metrics, and journal entry audit trail. ## Agent resources - [Docs index](https://docs.scrip.dev/llms.txt): Structured documentation index for agents - [AI resources](https://docs.scrip.dev/ai-resources.md): Recommended context files and docs to load for AI coding tools - [Full docs](https://docs.scrip.dev/llms-full.txt): Complete documentation as Markdown - [OpenAPI spec](https://docs.scrip.dev/openapi.json): Machine-readable API schema ## Docs - [Introduction](https://docs.scrip.dev/introduction.md): What Scrip is and how it works - [Quickstart](https://docs.scrip.dev/quickstart.md): Create a program, configure an asset and rule, send an event, and verify the resulting balance - [Core Concepts](https://docs.scrip.dev/guides/core-concepts.md): Programs, assets, participants, rules, events, and the ledger - [Authentication](https://docs.scrip.dev/authentication.md): API keys, headers, and rate limits - [API Reference](https://docs.scrip.dev/api-reference/introduction.md): Conventions shared across all endpoints - [Data Model](https://docs.scrip.dev/api-reference/data-model.md): Resource map and relationships ## Guides - [Programs](https://docs.scrip.dev/guides/programs.md): The top-level container for rules, assets, and participants - [Asset Configuration](https://docs.scrip.dev/guides/asset-configuration.md): Inventory modes, issuance policies, and precision settings - [Participants](https://docs.scrip.dev/guides/participants.md): Create and manage the users in your programs - [Groups](https://docs.scrip.dev/guides/groups.md): Shared wallets and state for teams, families, and organizational pools - [Writing Rules](https://docs.scrip.dev/guides/writing-rules.md): Define when and how participants earn and spend - [Rule Actions](https://docs.scrip.dev/guides/rule-actions.md): Configure what happens when a rule matches - [CEL Expressions](https://docs.scrip.dev/guides/cel-expressions.md): Rule conditions and dynamic amounts - [Event Processing](https://docs.scrip.dev/guides/event-processing.md): Ingestion, rule matching, and action execution - [Balance Operations](https://docs.scrip.dev/guides/balance-operations.md): Adjust, hold, release, and forfeit - [Ledger](https://docs.scrip.dev/guides/ledger.md): Double-entry journal entries, postings, and system accounts - [Lots & Expiration](https://docs.scrip.dev/guides/lots-and-expiration.md): Individual credits with expiration and vesting - [State Management](https://docs.scrip.dev/guides/state-management.md): Tags, counters, and attributes for tracking participant state - [Redemptions](https://docs.scrip.dev/guides/redemptions.md): Debit balances through amount redemptions and catalog purchases - [Rewards Catalog](https://docs.scrip.dev/guides/rewards-catalog.md): Define redeemable items with pricing, inventory limits, and availability windows - [Transfers](https://docs.scrip.dev/guides/transfers.md): Move funds between participants and groups within a program - [Tiers](https://docs.scrip.dev/guides/tiers.md): Ranked progression with qualification and downgrade policies - [Automations](https://docs.scrip.dev/guides/automations.md): Scheduled and state-driven event generation - [Webhooks](https://docs.scrip.dev/guides/webhooks.md): Real-time HTTP callbacks for domain events - [Reporting](https://docs.scrip.dev/guides/reporting.md): Ledger summaries, program activity, and API usage ## Examples - [Cashback Card](https://docs.scrip.dev/examples/cashback-card.md): Category multipliers, spend thresholds, and monthly resets - [Stripe Issuing](https://docs.scrip.dev/examples/stripe-issuing.md): Connect Stripe Issuing card transactions to your rewards program - [Common Patterns](https://docs.scrip.dev/examples/common-patterns.md): Copy-paste recipes for the most common reward behaviors