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

# how hyperpot works

HyperPot runs in rounds.

Each round has:

* A pot cap
* A timer
* A list of deposit entries
* A total weight
* A winner once settled

## Round Lifecycle

{% stepper %}
{% step %}

### Round Opens

A new round opens with an empty pot.

Players can deposit native HYPE.
{% endstep %}

{% step %}

### Players Deposit

Each deposit increases:

* The player's stake in the round
* The round's total weight
* The player's chance to win

If a player deposits multiple times in the same round, their stake is aggregated for UI purposes, but the contract still records deposit entries.
{% endstep %}

{% step %}

### Round Closes

A round closes when:

* The pot reaches the cap and at least two unique players have joined, or
* The timer expires and an external caller/keeper triggers the close.
  {% endstep %}

{% step %}

### Winner Is Requested

When a valid draw is ready, HyperPot requests randomness from Pyth Entropy.
{% endstep %}

{% step %}

### Winner Is Selected

When Pyth Entropy fulfills the request, the contract uses the random word to pick a winning ticket.

The winner receives a claimable balance inside the contract.
{% endstep %}

{% step %}

### New Round Opens

After settle or cancel, HyperPot advances to the next round.
{% endstep %}
{% endstepper %}

## Pull-Based Payouts

HyperPot uses a pull-payout model.

This means the contract does not forcibly send the prize to the winner during settlement. Instead:

1. The winner's `claimableWinnings` balance increases.
2. The winner calls `claim()`.
3. The contract sends the HYPE to the winner.

This avoids blocking settlement if the winner is a smart contract that rejects incoming transfers.

## Solo Rounds

If only one unique player joins a round and the timer expires, the round is cancelled.

The solo player gets a full refund credited to `claimableWinnings`.

The player can then claim from the wallet dropdown.


---

# 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://hyperpot.gitbook.io/hyperpot-docs/how-hyperpot-works.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.
