# faq

<details>

<summary>Do I need a wallet to use GitVerse?</summary>

No — exploring the universe (2D and 3D) is completely free and requires no wallet. You only need one if you want to buy or interact with a tile.

</details>

<details>

<summary>Which network?</summary>

Base mainnet (chain ID 8453). Same network as Coinbase's L2. Cheap gas, fast finality.

</details>

<details>

<summary>How much does a tile cost?</summary>

**0.01 ETH total** in a single transaction. Of that:

* 0.007 ETH goes to the Treasury (admission)
* 0.003 ETH stays in your tile as the initial tax deposit

You also pay a small amount of gas (typically under 0.0001 ETH on Base).

</details>

<details>

<summary>Do I keep earning forever?</summary>

Yes — as long as you own the tile. The moment you abandon or get bought out, you stop accruing new fees. But everything you accrued up to that point stays claimable forever via `claimFees()`.

</details>

<details>

<summary>What's the difference between admission and deposit?</summary>

|               | Admission             | Deposit                                       |
| ------------- | --------------------- | --------------------------------------------- |
| Where it goes | Treasury, immediately | Stays in your tile                            |
| Reversible?   | No                    | Yes — refunded on abandon, returned on buyout |
| Purpose       | Protocol revenue      | Pays your weekly Harberger tax                |

</details>

<details>

<summary>What happens if I forget about my tile?</summary>

If your deposit runs out and someone calls `pokeTax(yourTileId)`, your tile is foreclosed and goes back on the market. You don't get the deposit back (it was consumed by tax). But your accumulated `pendingFees` are NOT touched — you can still claim them whenever.

</details>

<details>

<summary>Can someone steal my tile?</summary>

Not unless you mean "buy it from you at the price you publicly declared." That's the entire point of Harberger property. If someone pays your declared price + 10% fee, they get the tile. You get the price + your deposit back.

There is no other way to take a tile without your declared-price consent.

</details>

<details>

<summary>Why is there a max of 5 tiles per wallet?</summary>

To prevent any single entity from cornering the economy and starving smaller holders. With 10,000 tiles and a cap of 5 per wallet, the system can have at least 2,000 distinct holders before any cap-related constraints bite.

</details>

<details>

<summary>Can the contract be upgraded?</summary>

**No.** The contract is non-upgradeable. The bytecode at the deployed address will never change.

The only mutable state controlled by admin:

* `paused` — emergency switch
* Treasury receiving address — can be rotated to a new address
* `authority` — the admin role itself (can be transferred or burned)

All economic parameters (prices, tax rates, splits) are constants. They cannot be changed.

</details>

<details>

<summary>Is this audited?</summary>

The contract is small (\~600 lines) and uses one well-audited dependency (OpenZeppelin's `ReentrancyGuard`). It is published, verified on BaseScan, and open for review. A formal audit has not yet been commissioned — please read the source before committing significant funds.

</details>

<details>

<summary>What's the relationship between GitVerse and gitlawb?</summary>

**gitlawb** is the underlying decentralized git registry — a public network of repositories. GitVerse reads from gitlawb and renders its content as a visual universe.

**GitVerse** is the visualization + the on-chain economy. The contract doesn't know or care about gitlawb internals — it just records strings called `repoName` that the frontend uses to bind tiles to planets.

</details>

<details>

<summary>What if I claim a repo I don't own?</summary>

The contract doesn't verify repo ownership. Anyone can bind any repo name to a free tile. The `repoName` is descriptive metadata, not a property claim against the repo itself.

That said, the frontend uses the deterministic gitlawb repo list to map tile #N to the Nth repo. So in practice the tiles end up bound to the actual existing repos.

</details>

<details>

<summary>What if the team disappears?</summary>

The contract runs autonomously. All economic flows (claims, buyouts, taxes, fee distribution) happen on-chain without any backend. The frontend at gitverse.app is one possible UI — anyone can host an alternative.

`emergencyWithdraw()` is available only after 90 days of zero contract activity, so even if the team vanishes, the protocol continues operating until the network itself goes idle for that long.

</details>

<details>

<summary>How do I see what I've earned so far?</summary>

Two ways:

1. Open your tile in the app — the **"Pending fees"** value in the owner section.
2. Call `getPlayer(yourAddress)` on the contract directly via BaseScan, or any web3 tool.

</details>

<details>

<summary>Can I see how much the Treasury has earned?</summary>

Yes. The contract exposes the accumulated Treasury balance as a public getter on BaseScan — call the `Treasury` accumulator read function and divide the result by 1e18 to get the ETH value.

</details>

<details>

<summary>Is the planet image mine to use?</summary>

The PNG export from the planet detail page is **branded with your tile's identity**. You're free to use, share, and republish it. The planet is a deterministic derivative of public repo data, so the image isn't an exclusive asset — but the holder gets the canonical export tag.

</details>


---

# Agent Instructions: 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:

```
GET https://gitverse.gitbook.io/gitverse-docs/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
