# Pending SP (pSP)

### Conditional Rewards That Protect Your Budget

Pending SP (pSP) is the core mechanic brands and protocols use to distribute rewards without waste. Users receive pSP in their wallet and can see the reward, but cannot spend it until they meet a condition you define.

If the user meets the condition, pSP converts to real SP. If the user fails, the pSP expires and the underlying SP recycles back to your campaign budget.

In pilot programs, this recycling has recovered 35% or more of distributed rewards that would have been lost in a traditional airdrop.

### How Campaigns Work

1. **Create a campaign.** Set a budget (in SP), supply caps, and settlement conditions.
2. **Fund the campaign.** Deposit SP to back the rewards. Add more budget at any time.
3. **Distribute pSP.** Your backend, quest platform, or point-of-sale system mints pSP to users. Each distributor has its own issuance limit.
4. **Settle or recycle.** Settle pSP for users who meet the condition (they receive real SP). Expire pSP for users who don't (budget recycles for future campaigns).

### Budget Recycling

Expired pSP returns the underlying SP to your campaign budget. You can mint new rewards from the recycled budget without depositing additional stablecoins. This reduces effective incentive cost compared to unconditional reward distributions.

### Use Cases

| Condition Type | Web3 Example               | Brand Example                    |
| -------------- | -------------------------- | -------------------------------- |
| Hold           | Hold 1,000 SP for 30 days  | Maintain membership for a season |
| Activity       | Complete 10 swaps on a DEX | Attend 3 events in a quarter     |
| Spend          | Provide $50K in liquidity  | Make $500 in purchases           |
| Referral       | Refer 5 depositing users   | Refer 3 ticket-buying customers  |

### Boosted Rewards

Campaigns integrate with the tier system. A Platinum user (Tier 3, 2x multiplier) earning a 100 pSP reward receives 200 pSP. The bonus comes from the campaign budget, so size your budget to account for boost payouts.

### Supply Controls

Each campaign has three caps to prevent over-distribution:

* **Total supply cap.** Maximum pSP the campaign can mint across all users.
* **Per-user cap.** Maximum pSP a single user can receive.
* **Daily limit.** Maximum pSP per user per day.

Set any cap to zero for unlimited.

For technical integration details, see [Campaign & pSP Operations](https://github.com/Spree-Finance/spree-docs/blob/main/developer-guides/stable-points-sp/campaign-operations/README.md) and [SDK Reference](https://github.com/Spree-Finance/spree-docs/blob/main/developer-guides/stable-points-sp/sdk-reference/README.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://spree-finance.gitbook.io/spreefinance/products/pending-sp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
