# Perks

> Offer fixed-price rewards donors can pick on your donation page

- Canonical page: https://zerocut.gg/docs/perks
- Markdown version: https://zerocut.gg/docs/perks.md



# Perks [#perks]

Perks are fixed-price rewards a supporter can choose right on your donation page. When a donor picks a perk, the donation amount locks to that perk's price, and — if you attach one — an action runs automatically after payment, like granting a Discord role.

## Creating a perk [#creating-a-perk]

1. Go to **Settings > Donations**.
2. In the **Perks** section, add a perk.
3. Give it a **label** (what the donor sees, e.g. "VIP Discord role"), a **price**, and a **currency**.
4. Choose the maximum quantity a donor can buy in one donation. Keep it at **1** for a one-off
   reward, or raise it for repeatable rewards such as push-ups.
5. Optionally attach an **action** that runs when the donation is paid.
6. Save. Active perks appear in the **Pick a perk** field on your public page.

You can reorder perks, archive one to hide it while keeping its donation history, or delete it permanently.

Perk prices are not forced to a hard-coded $5 minimum. Checkout applies the minimum configured for
the donor's selected payment method to the **whole cart**, converting it from your account's display
currency when necessary. This means a lower-priced repeatable perk can reach the minimum through its
quantity, while the same Stripe and PayPal minimums still protect ordinary and perk donations.

## Quantities and combinations [#quantities-and-combinations]

A perk with a maximum quantity above 1 gets quantity controls on the donation page. For example, a
$1 **Push-up** perk with a maximum of 100 can be bought as 50 × $1 in one donation. The
configured maximum is enforced again at checkout, so stale or edited browser requests cannot exceed
it.

Choose how different perks can share one cart:

* **One perk at a time** — donors can choose one kind of perk, with its allowed quantity.
* **Any combination** — all active perks in the same currency can be combined.
* **Selected combinations** — enable only the pairs that make sense together. A cart of three or
  more perks is allowed only when every pair in that cart is enabled.

Discord-role perks stay one per donation even when combinations are enabled, because a donation has
one role-claim flow. Perks in different currencies cannot share a cart.

## Perk actions [#perk-actions]

An action fires once a donation for the perk is confirmed:

* **Discord role** — grants a role in your connected server. The donor receives a one-time claim link and connects their Discord account to receive it.
* **Webhook** — sends a signed request to a URL you configure, so you can wire perks into your own tools. The payload names the perk that was bought (`incentiveId` and `incentiveTitle`), so one webhook can cover several perks and you branch on your side — see [One webhook, many perks](/docs/webhooks#one-webhook-many-perks). The webhook's [match rules](/docs/webhooks#match-rules) still apply here: a donation that doesn't satisfy them sends nothing and records a **Skipped** outcome instead, which you can read on the donation in **Recent Donations**. A webhook that carries rules — including perk rules — can still be picked as an action; only one that asks donors for a **required** input field can't, since a perk fires after payment with no form in between. You can also link a perk from the other direction, in the webhook's **Used by perks** list.

<Callout type="info">
  A Discord-role perk requires the [Discord integration](/docs/discord) to be connected. Role grants
  are tied to the payment: a refunded or reversed donation revokes the granted role.
</Callout>

## What donors see [#what-donors-see]

On your donation page, donors get a **Pick a perk** field above the amount. Selecting a perk:

* adds it to the perk cart and updates the fixed total from its price and quantity,
* locks the donation currency while the cart has items,
* shows only compatible choices when combination rules are enabled,
* can be cleared at any time to return to a free-form donation.

## Claiming a Discord role [#claiming-a-discord-role]

When a donor buys a Discord-role perk:

1. They receive a **claim link by email** after payment.
2. The link opens a page that asks them to connect their Discord account.
3. Once connected, the role is granted in your server automatically.

The claim link is single-use and expires after 7 days. If a donor connects the wrong Discord account, they can request the claim email again from the receipt.
