Reward system
Glossary
Reward system
Individual reward chain
Step
Value points
Reward
Clan
Clan reward chain
How it works
The reward system allows you to incentivize users to make purchases in the store using real currency. If users are part of clans, their purchases contribute value points to the entire clan.
You can create individual and clan-based reward chains and grant users rewards for purchased items. The game can include multiple reward chains of any type. Each chain can have a maximum of 31 steps. For each level, you define the number of value points required to complete it.
You can also create a personalized reward chain. Personalization allows you to display the chain only to a specific group of authorized users based on their attributes. A personalized reward chain can be designed for either an individual user or a clan.
At each step in the reward chain, a user can receive between 1 and 10 rewards. A clan can also receive between 1 and 10 rewards per member at each step.
You can reward users with the following item types:
- virtual items
- virtual currency
- virtual currency packages
- bundles
To ensure the reward system works correctly, user authentication must be configured. For unauthenticated users, both individual and clan reward chains are displayed without progress. Authenticated users who are not members of a clan see only their individual reward chain. Clan reward chains appear as unavailable.


User flow
- The user goes to the site.
- The user sees the item catalog, reward system, and the number of value points available for each item.
- The user logs in.
- The user can now view their current progress in the reward system.
- The user makes a purchase and progresses along the reward chain.
How to get it
To set up a reward system, you will need the following details:
- start and end dates of the reward system
- an image, description, SKUs, and names of value points that enable progress in the individual and clan reward chain
- the number of value points
- items in the reward chain
See the examples below.
Reward chain:
Description | Example | Limitations |
---|---|---|
Name | Xsolla bonus system | Character limit — 35. |
Explanatory text | Completing each step gives you unique rewards. Collect shards and get access to even cooler rewards! | Character limit — 175. |
Period | 01.05.2023 — 31.05.2023 | |
Image size | 1065 x 515 px |
Description | Example | Limitations |
---|---|---|
Step name | Tier 1 | Character limit — 35. |
Image size | 200 x 200 px | Supported formats: PNG, JPG. |
The number of accumulated value points at which the user receives a reward | 25 | |
List with item SKUs and the number of rewards that the user receives in this step | sword_1 x 1, coin_pack_50 x 2 |
Description | Example |
---|---|
Name | Shard |
Explanatory text | To get rewards, collect the shards. |
SKU | ExampleSKU003 |
Image or its URL | ![]() |
Step | Value points |
---|---|
Step 1 | 5 |
Step 2 | 10 |
Step 3 | 15 |
Step 4 | 20 |
Step 5 | 30 |
Step 6 | 40 |
Step 7 | 60 |
Step 8 | 80 |
Step 9 | 100 |
Step 10 | 150 |
Step 11 and subsequent steps | Previous step + 50 |
Description | Example |
---|---|
Item SKU for the purchase of which value points are given out | Helmet_1 |
The number of value points given out after the items’ purchase | 10 |
Implement on your side:
- display of elements of the reward system in the store:
- the number of value points that are awarded for purchasing items in the catalog
- value points
- steps
- reward chains
- the balance of the authorized user’s value points
- rewards
- sending user’s clan data to Xsolla Login
Set up via Publisher Account
Before creating a reward chain, you need to create value points, rewards and items that users and a clan can purchase to earn value points.
Create value points
To create value points:
- In your project in Publisher Account, go to the Store > Live-ops and promotion tools section.
- In the Rewards tab, click Create value points.
- Specify the following parameters:
- Add an image (optional).
- Enter a unique SKU for the value points.
- Indicate whether the value points will be used for a clan
- Provide a name for the value points.
- Click Next.
- Select the SKU of the virtual item and specify the number of value points the user will receive per purchase.
- Click + to add the required number of items.
- Click Save.
The created value points are displayed above the reward chains. Clan value points are marked accordingly. To change the settings for a specific value point, click Edit in the corresponding row.
Create reward chain
To create the reward chain:
- In your project in Publisher Account, go to the Store > Live-ops and promotion tools section.
- Click Create reward.
- Choose New reward chain type — Individual reward chain or Clan reward chain.
- Specify the following parameters. If you choose an individual reward chain:
- Specify the reward chain name.
- Provide a description.
- In the drop-down list, select value points.
- If you choose clan reward chain:
- In the drop-down list Clan type, choose a type of a clan.
- Set the parameters of the clan reward chain:
- Specify the reward chain name.
- Provide a description.
- Specify a title for the reward chain popup header.
- Specify the text for the popup tip (what users need to do to earn rewards for their clan).
- Add an image (optional).
- In the drop-down list, choose value points.
- Click Next.
- Click Add new step.
- Specify the following parameters and click Save:
- Step name.
- Required amount of value points to clame the reward.
- Required amount of virtual items for the step.
- Click Next.
If you want to personalize the reward chain:
- Set the Personalized reward chain toggle to active.
- Select one of the chain display options and click Next:
- Show reward chain to specific users. When enabled, the chain is displayed only to authorized users who meet the specified conditions.
- Show reward chain to users who don't meet conditions. When enabled, the chain is displayed only if no matching reward chain is found for the user — for example, if the user is not authorized or their attributes don’t match any personalized chain.
- If you selected to display the chain to specific users:
- Click Add condition and set the personalization conditions:
- User attribute is a user characteristic, such as country or age. Attributes are configured in the Login section.
- Attribute type defines the format of the attribute value: string, number, or date.
- Comparison operator determines how the user attribute value is compared to the specified condition — for example, equals, greater than, less than, or contains.
- Attribute value is the specific value used for comparison. For example, if the user attribute is age, the attribute type is number, the comparison operator is greater than, and the attribute value is 18, the chain will be shown only to users over 18.
- To add another personalization condition, click Add condition.
- Click Add condition and set the personalization conditions:
- Click Next.
- Create the required number of steps and click Save.
- Click Next.
- Specify the validity period of the reward chain.
- If you want the reward chain to renew at a specific time, set the Make reward chain renewable toggle to On and specify the update mode.
- Click Save.
- In the reward catalog, select the reward chain.
- Click ••• and choose Activate from the drop-down list.
Set up Reward system block in Site Builder
To add a Reward system block to a page in Site Builder:
- In your project in Publisher Account, go to the Site Builder.
- In the pane of the desired site, click Open Site Builder.
- Click Add block in the site template.
- Choose Reward system in the blocks list.

- In the drop-down list, choose a reward chain configured in the Shop Builder.

- Customize the button and text colors (optional).
- Click Preview in the upper right corner of the builder to check your reward system. Click Publish to publish the site.
Set up via API calls
You can use methods from the Admin subsection of the Reward chains & Value points method group to manage the reward system.
- Create value points that grant access to rewards via the Create value point API.
- Assign value points to specific items via the Set value points for items API — users will receive these points after purchasing the items.
Create a reward system via the Create reward chain API. To create a personalized reward chain, pass the display condition in the attribute_conditions array.
You can specify whether a personalized reward chain should be shown to a user who doesn’t have the attribute defined in the condition. To do this, pass
true
in the can_be_missing parameter.You can also define a reward chain that is shown to a user if no matching personalized chain is found. To do this, pass
false
in the is_always_visible parameter.- Activate the reward system via the Toggle reward chain API.
You can also modify, disable, or delete the reward system and remove value points from items.
Features for displaying reward system in the store interface
Features for displaying value points
You can select multiple reward chains within a single block and choose how they are displayed — either one below the other or in tabs. You can customize the appearance of each reward chain individually.
Item cards display value points only for the reward chains that have been added to the site. However, when users purchase items, clan members receive value points for all active reward chains, regardless of whether they are displayed on the site.
Example:
You have 2 reward chains set up: one individual reward chain and one clan reward chain. The individual chain has a value point named
In the item catalog, there is an item named
When you add the Store block in the builder and select the type and group of items that contain the
- If no reward chain has been added to the site, the
Sword item will not display any value points. - If only an individual reward chain has been added and is active, the
Sword item will display 20Crystals only. - If only a clan reward chain has been added and is active, the
Sword item will display 40Magic Bubbles only. - If both an individual and a clan reward chain have been added and are active, the
Sword item will display both 20Crystals and 40Magic Bubbles .
For clan members, 40
For users without a clan, 40
Defining the user clan
Xsolla does not create clans or store information about the clan members. You need to implement the clan system on your side and pass clan-related data using user attributes.
To ensure correct sending and processing of clan data:
- Set up the attribute scheme in Login. Add the
clan_id
attribute.
Example of the attribute scheme in Login:
1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "additionalProperties": false,
4 "description": "JSON Schema example for user attributes. Not the actual schema.",
5 "properties": {
6
7 "clan_id": {
8 "description": "name of clan",
9 "type": "string"
10 },
11 "custom-id": {
12 "description": "custom-id of a user.",
13 "type": "number"
14 },
15 "had_ban": {
16 "description": "Whether the user was banned.",
17 "type": "boolean"
18 },
19 "last_purchase": {
20 "description": "Date of user's last purchase.",
21 "type": "string"
22 },
23 },
24 "required": [],
25 "title": "Example",
26 "type": "object"
27}
- Implement sending the user’s clan data:
- When authenticating by user ID, pass the user’s clan in the response to the User validation webhook in Web Shop webhook during authorization:
- To add or refresh the
clan_id
attribute, pass an array ofattributes
objects with theclan_id
attribute key.
Example of a webhook response:
1{
2 "user": {
3 "id": "1234567890",
4 "picture": "https://example.com",
5 "name": "test-name"
6 },
7 "attributes": [
8 {
9 "key": "clan_id",
10 "value": "beetles"
11 }
12 ]
13}
- If the user has left the clan and has not joined another, you need to pass the
clan_id
value in theremoving_keys
field.
Example of a webhook response:
1{
2 "user": {
3 "id": "1234567890",
4 "picture": "https://example.com",
5 "name": "test-name"
6 },
7 "removing_keys": [
8 "key": "clan_id"
9 ]
10}
- If the site uses authorization via Xsolla Login, use the Update current user’s clan API to update the user’s clan.
Found a typo or other text error? Select the text and press Ctrl+Enter.