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

# How It Works (The Flywheel)

At the heart of HoodStrategy is a **flywheel** — once it's spinning, it keeps itself going: more volume means more Robinhood stock bought, which means more paid out to holders.

## The cycle

```
   1. A user BUYS or SELLS $HOODSTR (via Uniswap)
                          │
                          ▼
   2. The v4 HOOK collects a 5% tax (in ETH)
                          │
                          ▼
   3. The tax accumulates until the THRESHOLD
      (minimum amount + cooldown = "every X minutes")
                          │
                          ▼
   4. In the SAME transaction: swap ETH → HOODX
      (against the HOODX/ETH pool, Uniswap v4)
                          │
                          ▼
   5. The purchased HOODX is credited to HOLDERS
      (per-token reward accumulator)
                          │
                          ▼
   6. Holders claim their HOODX whenever they want
```

## Step by step

### 1. The trade

A user buys or sells $HOODSTR on Uniswap. The relevant pool is **$HOODSTR / ETH**, with the HoodStrategy hook attached.

### 2. The tax

The hook intercepts the swap and collects a **5% tax**, kept in ETH inside the contract. **Wallet-to-wallet transfers are not taxed** — only buys and sells through a pool are.

### 3. Accumulation and threshold

Taxes accumulate. The purchase cycle doesn't fire on every micro-trade (too costly, too exposed to slippage). It fires when **two conditions** are met:

* the accumulated ETH exceeds a **minimum threshold** (`harvestThreshold`);
* the **cooldown** since the last purchase has elapsed (`harvestCooldown`, default 5 min).

This threshold + cooldown combination is what implements "every X minutes." A pure clock isn't used, because a smart contract can't trigger itself on time — it must be pushed by a transaction. Here, trades do the pushing.

### 4. The atomic HOOD purchase

When the conditions are met, **in the same transaction as the trade**, the hook:

1. converts the accumulated ETH into **HOODX** via the HOODX/ETH pool;
2. checks the price stays within a **slippage bound** set by the Chainlink oracle;
3. receives the HOODX into the contract.

### 5. Distribution

The purchased HOODX is added to a **global per-token reward accumulator**. Each holder's claimable share grows pro rata to their holdings. Distribution is **accounting, not physical**: the protocol doesn't transfer HOODX to thousands of wallets (prohibitive gas) — it updates a counter. See [Reward Mechanism](/hoodstrategy/reward-mechanism.md).

### 6. Claiming

Each holder calls **`claim()`** whenever they want to withdraw their HOODX to their wallet. This is the **pull** model: the protocol never force-sends anything; each holder pulls their share. It works because HOODX is a freely transferable ERC-20.

{% hint style="success" %}
**A holder's life in one line:** you hold $HOODSTR → your HOODX share grows on its own → you click `claim` to pull it → you keep the HOODX (HOOD exposure) or swap it for whatever you want.
{% endhint %}


---

# 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://hoodstrategy.gitbook.io/hoodstrategy/how-it-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.
