# Reward Formula

Within an epoch, each active node accrues a **contribution score**. Rewards are paid **pro-rata**:

```
reward(node) = pool × ( score(node) / Σ score(all active nodes) )
```

***

## Score Composition

```
score = data_volume × quality_multiplier × novelty × geographic_weight × uptime × hardware_tier_multiplier
```

| Factor                         | What It Measures                  | Cap                                                         |
| ------------------------------ | --------------------------------- | ----------------------------------------------------------- |
| **data\_volume**               | Amount of verified data submitted | —                                                           |
| **quality\_multiplier**        | Resolution, frame rate, clarity   | Clipped at 2.0×                                             |
| **novelty**                    | Uniqueness vs. recent submissions | Clipped at 2.0×                                             |
| **geographic\_weight**         | Coverage scarcity of the hex      | Underserved hexes earn more                                 |
| **uptime**                     | Node availability and consistency | —                                                           |
| **hardware\_tier\_multiplier** | Device capability tier            | Per [device tier](file:///0129295/hardware/device-tiers.md) |

***

## Design Principles

**No single dimension can dominate.** Quality and novelty multipliers are clipped at 2.0× to prevent quality-farming.

**Geographic weight up-weights underserved hexes** (sparse-coverage regions earn more per minute) and **down-weights saturated ones**. This naturally incentivizes global coverage rather than concentrated farming.

{% hint style="info" %}
All weights, multipliers, and caps are initial parameters governable via [CIP](file:///0129295/governance/cips.md).
{% endhint %}


---

# 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://clawglasses.gitbook.io/clawglasses-docs/reward-engine/reward-formula.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.
