# Service Bonus (Tree-Based) & Daily Limits

## Why the Transition to Tree-Based?

* While the legacy binary structure was effective for early growth, the V2 Service Bonus uses a more scalable tree-based model. This allows the protocol to reward activity across your entire referral network without the complexity of balancing "left" and "right" legs.

## The Logic of the Service Bonus

* Every member you invite becomes a branch in your referral tree. The Service Bonus considers the total gaming and liquidity volume generated by these members and their own invitees.
  * **Automated Computation**: Unlike direct rewards recorded atomically by Core, the Service Bonus is computed by the protocol’s backend service and updated in your Pass NFT via the `SERVICE_ROLE`.
  * **Monotony Principle:** Once a bonus is set in your Pass, it can only increase. The contract enforces a `BonusCannotDecrease` rule to protect your earned rewards.
  * **Transparency:** All tree-based volume remains verifiable on the Polygon blockchain through individual Pass records.

### V1 Legacy Linear and Binary Tree

* Refer to the image below to see how a linear tree translates into a binary tree.&#x20;
  * Note that members A-M joined in alphabetical order.
  * Consider that [Matching Bonus Terms](/betfin-public/affiliate-manual/affiliate-terms/matching-bonus-terms.md#terms-of-affiliate-members-default-sorting-in-binary-tree) were applied.

<figure><img src="/files/UnPE8F1oqbyZv3KGMzAZ" alt=""><figcaption><p>The logic of linear tree to binary tree transcription according to default sorting logic</p></figcaption></figure>

* The binary tree and linear tree are always displayed on your affiliate page, where you can view them as either a table or a genealogy tree.
* We recommend using the binary tree view when building your structure, as the linear tree view is primarily helpful for identifying who is actively inviting new members and who is not.

Matching Rewards

* Matching occurs once per cycle, where each cycle lasts 24 hours.
* <mark style="color:green;">During matching, the volume of the WEAK leg is DEDUCTED from the STRONG leg, and an 8% matching bonus is paid based on the volume of the weaker leg:</mark>
  * Matching bonus is 8% from the weak leg.
  * Volume includes 100% of all stakes and 1% of all bets within your binary tree.
  * Any remaining volume on the stronger leg carries over to future cycles with no time limit, meaning any volume you generate on your weaker leg will always yield an 8% reward.
* <mark style="color:blue;">The depth of users and who invited them is irrelevant; only the total volume of the left and right sides matters. Simple, right!</mark>
* The matching bonus is added to your matching bonus claim balance in the affiliate section.

## Matching Bonus Claim and Limits

* The maximum possible claim is 10% of your total staking amount or 12,000,000 BET based on the combined value of your conservative and dynamic staking.
* There is no time limit on how long the claim balance can wait for you to claim it.
* The maximum claim does not accumulate,
  * so you cannot claim 100% of your staking value after 10 days of waiting;
  * each day’s claim is calculated independently.
  * We are considering an automated claim feature for members with over 100 million BET in staking.

## V2 Matching Bonus Claim & Sustainability Limits

To ensure the long-term sustainability of the Affiliate Fund, Service Bonus claims are subject to a daily rate-limiting mechanism tied to your "skin in the game".

**The Daily Claim Formula**

You can call claimBonus() once per UTC day. The amount you can claim is the lower of two values:

1. 10% of your current principal deposit in the Liquidity Pool.
2. The global hard cap (default: USD 12,000).

| Your LP Principal | 10% of Staked | Global Hard Cap | Effective Daily Limit |
| ----------------- | ------------- | --------------- | --------------------- |
| 0 BET             | 0             | 12,000          | 0 (Cannot claim)      |
| 50,000 BET        | 5,000         | 12,000          | 5,000 BET             |
| 120,000 BET       | 12,000        | 12,000          | 12,000 BET            |
| 500,000 BET       | 50,000        | 12,000          | 12,000 BET            |

### Key Claim Rules

* No Accumulation: The maximum daily claim does not accumulate. If you do not claim today, you cannot claim "double" tomorrow; each day’s limit is calculated independently based on your current stake.
* Staking Requirement: If you have zero tokens deposited in the Liquidity Pool, your daily limit is zero. You must provide liquidity to the protocol to unlock tree-based rewards.
* Payout Source: Rewards are transferred directly from the Affiliate Fund contract to your wallet.

#### <mark style="color:$warning;">Legacy Migration of Matching Bonuses</mark>

<mark style="color:$warning;">The protocol ensures that all matching volume earned in V1 remains claimable in V2.</mark>

* Claim Subtraction: The V2 fund automatically reads your V1 claim history. If your total bonus is 100,000 BET and you already claimed 40,000 BET in the old system, V2 allows you to claim the remaining 60,000 BET under the new daily limit rules.
* V1 Freeze: Claiming legacy matching bonuses in the V1 contract has been disabled (frozen) to prevent double-claiming across systems. All tree-based rewards must now be routed through the V2 interface.

<br>


---

# 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://betfin.gitbook.io/betfin-public/affiliate-manual/affiliate-explanation/service-bonus-tree-based-and-daily-limits.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.
