---
description: >-
  There are different types of incentive campaigns and different way to
  incentivize in Royco.
---

# Types of Incentives

## **Royco supports two types of Incentives: tokens and points.**&#x20;

### **1. Tokens**

Royco supports standard Tokens via the ERC20 standard.&#x20;

### **2. Points**

Points powered by Royco are mostly stateless, unlike conventional ERC20 tokens, and rely on a single "award" function to facilitate off-chain balance indexing. To create a points campaign, deploy a Royco Points Contract through the Royco Points Factory and set your constructor parameters to specify the name, symbol, decimals, and owner of the points campaign. \
\
Only  Wrapped Vaults contracts and the Recipe Market Hub deployed on that chain can call the "award" function. The owner of a points program can whitelist wrapped vaults and IPs that can create offers on both (Vault and Recipe) market hubs with the points program as an incentive. When “award” is called, the Points contract emits an “awarded” event which can be used to track the points awarded and their recipients. Note that adding a wrapped vault or an IP to the whitelist is irreversible - they cannot be removed once added.

The Royco SDK allows you to use point values for any future uses. It simply involves indexing all award events and summing the points awarded to users. \
\
Learn how to create a points campaign: [here](place-an-incentive-offer-for-developers).

## Types of Campaigns

* **Add Incentives:** Distribute "X" amount of "T" token from a defined start time to end time.
* **Extend Incentives:** Increase distribution amount of "T" token by adding more tokens to "X" from current start time to a defined end time or new future end time.
* **Refund Incentives:** Get the "X" amount of "T" tokens back, if the current time is less than the start time and IP decides to no longer give incentives.\
  \
  \
