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

# Jackpot and Chest

Two pools fed by every spin. Together they take **1.5% of all volume**, and none of it is protocol revenue where it all returns to players.

***

## The jackpot

**One card. It never sits on a rack.**

0.5% of every spin accrues in a fund. Periodically the restocker calls `growJackpot`, which swaps that fund into the jackpot stock (**SPCX**) and tops it into a single certificate. The prize compounds rather than resetting.

```solidity
if (jackpotCertId == 0) jackpotCertId = wrapper.wrap(jackpotStock, received);
else                    wrapper.topUp(jackpotCertId, received);
```

Hit the jackpot tier and the whole card transfers to you, plus any fund not yet swapped in.

|                  |                                                  |
| ---------------- | ------------------------------------------------ |
| Odds             | **0.05%** — 1 in 2,000 spins                     |
| Feed             | 0.50% of every spin                              |
| Asset            | SPCX (SpaceX)                                    |
| Hard cap on odds | **0.20%** — the contract rejects anything higher |

### It never touches the vault

The jackpot pre-funds itself. When someone wins it, the payout is the card the feed already bought. LPs are not on the hook, and the tier draws nothing from the bankroll.

### It is one-way

There is no withdrawal path for the jackpot fund. Not gated but absent. Money in the pot leaves only to a winner. That applies to the operator too.

***

## The Golden Chest

**A raffle over recent spins, and the person who triggers it has no advantage.**

1% of every spin feeds the chest. When cumulative spin volume in the current window crosses **10,000 USDG**, the chest opens on the next settlement and the entire fund is credited to **one random spinner from that window**.

```solidity
uint256 count = spinId - start + 1;
uint256 winnerSpinId = start + (uint256(keccak256(abi.encodePacked(word, uint8(0xE6)))) % count);
```

Every spin in the window is equally likely including the first. The spinner who happened to push volume over the line is exactly as likely to win as anyone else. The window then resets.

|          |                                          |
| -------- | ---------------------------------------- |
| Feed     | 1.00% of every spin                      |
| Opens at | 10,000 USDG of window volume             |
| Winner   | uniformly random spin in the window      |
| Payout   | the whole fund, as claimable USDG credit |

(On chain the event is `ChestOpened`; the fund and its getters are still named `eggFund` / `eggThreshold` / `eggVolume` — those predate the rename.)

### Why it can't be gamed

The winner is drawn from the **same VRF word** that settled the opening spin, through a separate hash lane (`0xE6`). It inherits the VRF's randomness and is independent of the tier and card draws.

You can't predict which spin will open the chest, and you can't steer the winner by timing your spin.

If the selected spin was cancelled or is still pending rather than settled, the payout falls to the opening spin instead. That guard exists because a cancelled spin was refunded and never paid in.

### One spin, one ticket

Entry is per spin, not per wallet or per dollar. A 10 USDG spin and a 1,000 USDG spin hold the same single ticket which keeps the chest accessible instead of a whale prize.

***

## Where the money goes

Of every $100 spun:

```
$1.00  →  Golden Chest  →  a random spinner in the window
$0.50  →  jackpot feed  →  whoever hits the 0.05% tier
```

Both are part of the **\~90% return to players**, not the operator's 2.5%. They move a slice of the return out of the predictable common pull and into outcomes worth talking about.


---

# 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://docs.takara.gg/rewards-and-fees/jackpot-and-chest.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.
