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

# security

RobinFun's contracts are built to be conservative and hard to break. They are covered by an extensive test suite — including adversarial tests (such as pre-seeded-pool griefing), fork tests against the live chain, and solvency-invariant fuzzing.

## Design principles

* **Per-curve ETH accounting** — each token's funds are tracked independently. One token's ETH can never be spent by another, and the factory can never be undercollateralized against its live curves.
* **Reentrancy guards and checks-effects-interactions** throughout, so external calls can't re-enter or double-spend.
* **Graduation decoupled from trading** — graduation is a separate, permissionless action, so a DEX-side issue can never freeze a live curve.
* **Rebalance-then-add liquidity provisioning** — liquidity is added directly to the pair at graduation, and a pre-seeded pool is arbitraged back to the correct price first. Pool-seeding can't block or misprice a listing.
* **Best-effort fee payouts** — a fee transfer that fails can never brick trading: a failed treasury payout is escrowed and stays claimable, a failed staking-reward payout is deferred and stays claimable, and a failed creator-fee payout falls through to the treasury.

## Locked liquidity

At graduation, LP tokens are **100% burned**. Liquidity can never be pulled by the team or anyone else.

## Protected curve funds

The ETH raised on an active (non-graduated) curve is **reserved backing** for holders. It can only ever be returned to sellers or move into the Uniswap pool (and the $300 treasury share) at graduation — it is not withdrawable by the team.

## Immutable staking pool

The ROBINFUN staking pool has **no owner and no admin functions**. Its lock rules, reward math, and payout logic are fixed at deployment. Even a failed ETH payout can't trap a staker: principal always returns, and deferred ETH stays claimable.

## Reading the code

Every launched token's source is **auto-verified** on the block explorer, and the core contract addresses are published in [Contract addresses](broken://pages/0b05183159c7a8fa30cd38d105dbe7b9aebf8d11) — you can inspect the exact deployed code of anything you interact with.

## Your own safety

* Only use the **official app** and the addresses listed in this documentation.
* Confirm you're on **chain 4663** before signing.
* RobinFun is permissionless: anyone can launch any token. A token being on RobinFun is **not** an endorsement. Always do your own research.
* Smart contracts carry inherent risk. See the [Disclaimer](broken://pages/03bc33c8f7900fb091988137a85d58ae6a3e3d86).


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://robinfun.gitbook.io/robinfun-docs/security.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
