> For the complete documentation index, see [llms.txt](https://coinsafe.gitbook.io/coinsafe-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://coinsafe.gitbook.io/coinsafe-docs/rewards-and-points/points.md).

# Points

The **CoinSafe Points System** is how you earn credit for smart saving actions. Points are tracked and boosted based on your behavior and streak level.

Track your points

<figure><img src="/files/CZDqDg1UNUqcHhnm4fIe" alt=""><figcaption></figcaption></figure>

***

#### 🎮 Types of Points

| Type        | Action                            | Base Points |
| ----------- | --------------------------------- | ----------- |
| 🛡️ Creator | Creating a new Safe (Target Safe) | 50          |
| 💰 Stacker  | Topping up any existing Safe      | 25          |
| 🤖 Pilot    | Successful AutoSafe execution     | 30          |

> 🔄 These values are **base points**. Your **active multiplier** boosts your actual points earned.

***

#### 🔁 Active Multiplier Tiers

| Multiplier Tier | Streak Needed | Multiplier | Applies To      |
| --------------- | ------------- | ---------- | --------------- |
| Base            | 5 saves       | 1.2x       | All point types |
| Medium          | 10 saves      | 1.5x       | All point types |
| Ultra           | 15+ saves     | 2.0x       | All point types |

For example:

* You created a Safe = 50 base points
* With Medium Multiplier (1.5x) = **75 actual points earned**

{% content-ref url="/pages/MFytNAyzYwNUoHTeg96w" %}
[Multiplier](/coinsafe-docs/rewards-and-points/multiplier.md)
{% endcontent-ref %}

***

#### 🧠 How Points Are Calculated

```solidity
creatorPointWeight = 50;
stackersPointWeight = 25;
pilotPointWeight = 30;

baseMultiplierThreshold = 5;
mediumMultiplierThreshold = 10;
ultraMultiplierThreshold = 15;

baseMultiplier = 120;   // = 1.2x
mediumMultiplier = 150; // = 1.5x
ultraMultiplier = 200;  // = 2.0x
```

> 📌 Multiplier values are stored in **basis points** (1.2x = 120)

***

#### 📚 Example Scenarios

**🟩 Sarah — Unlocks Base Multiplier**

* Day 1–4 AutoSave: 30 × 4 = 120 points (no multiplier)
* Day 5: unlocks Base Multiplier → 30 × 1.2 = 36 points
* Continues building faster

**🟧 John — Gets Ultra Multiplier**

* Saves 1–4: 30 pts each = 120 pts
* Saves 5–9: 36 pts each (Base Multiplier)
* Saves 10–14: 45 pts each (Medium Multiplier)
* Save 15+: 60 pts each (Ultra Multiplier)

**❌ Alex — Breaks Streak**

* Day 12: missed scheduled save
* Streak resets to 0
* Next save gets base points only (no multiplier)
* Must rebuild to regain the multiplier

***

#### 🔐 Anti-Gaming Measures

* Frequency validation (you can’t save too quickly)
* Minimum intervals between saves
* Validated timestamps and streak tracking
* Multiplier caps and streak reset logic
* Admin-adjustable weights for flexibility

***

#### Best Practices

* Pick a saving schedule you can stick to (e.g., weekly)
* Keep enough funds ready for AutoSafe
* Track your streak in the dashboard
* If you break a streak, start again slowly — no rush


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://coinsafe.gitbook.io/coinsafe-docs/rewards-and-points/points.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
