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

# Fair exit

Five of you aped the same coin. It ran. Now who sells first? With a fair exit pool, nobody does. Everyone puts their tokens into one pool, one wallet sells the lot in a single transaction, and the ETH is split by exactly what each person put in. One sell, one price, nobody dumps on their mates.

Fair exit is a separate small contract (`FairExit`), not a family trust. A trust takes ETH in and buys bags; a fair exit takes **one token** in and turns it into ETH. Because everyone deposits the same token there is no pricing step at all: your share of the ETH is your share of the tokens.

**Start one:** [familio.trade/exit/new](https://familio.trade/exit/new). **Browse:** [familio.trade/exit](https://familio.trade/exit).

## How it runs

1. **Open a pool.** Pick the coin and an optional minimum per deposit. By default the door stays open until you close it; you can instead set a timer (1 hour to 7 days). One transaction, gas only. You are the **operator**, and you earn nothing from it.
2. **Everyone puts in.** Mates open the pool link, approve the token once, deposit. Any wallet, any amount above the minimum. The pool page shows the running total and each person's slice.
3. **Door closes.** The operator closes it with one click once everyone is in. If they set a timer, it also shuts by itself when the timer runs out. A pool with no timer shuts by itself after 30 days so nobody's tokens sit forever. No deposits after that either way.
4. **One sell.** The operator presses "sell everything in one hit". The site quotes the best route (Uniswap v3, Pons curve, Pons v4 pool, multi-hop), the contract checks the router is one the family trusts are allowed to use, that the WETH landed in the pool and that it is at least the minimum out, then unwraps it to ETH. A thin pool can be sold in more than one hit; every hit adds to the same pot.
5. **Claim.** When the last token is gone the pool settles by itself. familio's fixed 1% of the ETH goes to the treasury; each depositor presses claim and receives `ethPool × deposited / totalDeposited` of the rest. Anyone can press claim for someone else; the ETH only ever goes to the depositor.

## What the operator can and cannot do

| Can                                                     | Cannot                                                                          |
| ------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Close the door early                                    | Move anyone's tokens anywhere but through an allow-listed router, into the pool |
| Sell the pool's tokens for WETH, in one or several hits | Sell to an address other than the pool                                          |
| Settle early and hand unsold tokens back pro-rata       | Take a cut: the operator earns nothing, the fee is familio's and fixed in code  |
|                                                         | Block or delay anyone's claim or withdrawal                                     |

## Nobody is ever stuck

* **Before the first sell** every depositor can take their tokens back, window open or not.
* **If the operator goes quiet** after the door closed, anyone can `settle` the pool seven days later. Whatever ETH was raised is split; tokens never sold go back to whoever deposited them, in the same proportions.
* **If a claim's ETH transfer fails** (a contract wallet that refuses ETH), the pool sends WETH instead. Claims cannot be blocked.

## Numbers and limits

* Fee: a fixed 100 bps (1%) of the ETH raised, to the familio treasury, taken once at settle. The operator gets nothing, so nobody has a reason to run a pool except to leave together.
* Window: up to 30 days from creation (a pool with no timer takes the full 30 as its backstop). Rescue delay: 7 days after the window closes.
* Fee-on-transfer tokens are credited by what actually arrived.
* Routers: the same allow-list as family trusts (`FamilyFactory.routers`). Tokens on the factory block list cannot be sold.

## Telegram

Add [@FamilioTradeBot](https://t.me/FamilioTradeBot) to your group and send `/connect <pool name>` (the name from the pool's `/exit/…` link). The bot links the pool when your Telegram is verified on a familio profile whose wallets include the operator. Every deposit, the door closing, each sell, the settle and every claim get posted as they happen. `/disconnect` stops it.

## Contracts

* `FairExitFactory` `0x52fbFDE19F129CE124385F60CbE7eB4344b0828A`
* `FairExit` implementation `0xf2ECbF83775B88B9c4D434D8536731bf48132A6C`

Both source-verified on Robinhood Chain (exact match on Sourcify; Blockscout imports from there). No third-party audit, same as the rest of the contracts; see [Security](/developers/security.md).


---

# 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.familio.trade/the-product/fair-exit.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.
