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

# How to play

Ink tank, Robinhood gas, faction lock, leftover ink.

{% hint style="warning" %}
Bring **ETH on Robinhood Chain**. `$WAR` is what you paint with. ETH pays gas for deposits, withdraws, opening Auto-Paint, every paint submission, and claiming. Without ETH, your ink sits unused. Add network **4663** (hex `0x1237`) in your wallet if it is missing.
{% endhint %}

{% stepper %}
{% step %}

## Get $WAR and ETH

Buy `$WAR` on [pons](https://www.ponsfamily.com) (Robinhood). The token starts on a bonding curve and graduates into a locked Uniswap v4 pool. Fees are on the **trade** (protocol fee + 1% creator tax, in ETH) — not on a later vault deposit.

Also keep a small ETH balance on Robinhood. Palette Wars does not sponsor gas at launch. Bridge ETH to Robinhood before you try to deposit.
{% endstep %}

{% step %}

## Deposit into the Ink Tank

`depositInk` moves `$WAR` from your wallet into the Vault. This is an on-chain tx — you pay ETH gas. Your on-chain `inkBalance` is the tank. Unused ink can be withdrawn with `withdrawInk` (also costs ETH gas).
{% endstep %}

{% step %}

## Open Auto-Paint

Approve an epoch session key (`openPaintSession`). That setup tx costs ETH gas. The key can only paint, and it dies at `warEndsAt`.

After that: no wallet popup per pixel. Each paint still spends ETH gas (the session key submits the tx). Auto-Paint removes confirmations, not gas.
{% endstep %}

{% step %}

## Paint — first color locks your faction

Warm colors 0-3 become Blaze. Cool colors 4-7 become Frost. That lock lasts the whole war. You cannot flip sides mid-epoch to claim the other jackpot.

Each tool click is still a Robinhood transaction. If ETH runs out, paints revert even if the Ink Tank has `$WAR`.
{% endstep %}
{% endstepper %}

## What each click costs

| Cost        | Paid in              | When                                               |
| ----------- | -------------------- | -------------------------------------------------- |
| Tool price  | `$WAR` from Ink Tank | Every successful paint                             |
| Network gas | ETH on Robinhood     | Deposit, withdraw, open session, each paint, claim |

There is no off-chain pixel credit. If it did not hit the vault, it does not count for the jackpot.

## Faction rules

* First paint (or explicit join) locks you for the epoch
* Blaze may only paint Blaze colors, including on Frost turf
* Frost may only paint Frost colors, including on Blaze turf
* Theme colors 8-19 are home only after you are locked
* Next epoch you may pick the other side

{% hint style="warning" %}
Switching mid-war is impossible on purpose. Paint Frost for 5 hours then flip to Blaze would steal the jackpot.
{% endhint %}

## Canvas

1000x1000, split at x = 500. Blaze home is the left half. Frost home is the right half. Pixels are not stored in contract storage — clients rebuild the board from `ToolUsed` events via the Game Hub.

## Empty tank / new epoch / leftover ink

* Empty tank: deposit more ink (one tx, ETH gas)
* Epoch ends: session dies; open a new Auto-Paint key for the next war (ETH gas). Leftover ink stays in the tank — it is not swept into the jackpot.
* Claim war jackpot after resolve: `claim` on the Vault (ETH gas)
* Claim monthly after the UTC month closes: `claimMonthly` (ETH gas)


---

# 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://pallette-wars.gitbook.io/pallette-wars-docs/how-to-play.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.
