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

# SocialhoodFactory Stack

The Terminal runs on three contracts. The factory is verified on Blockscout — you can read every line.

## SocialhoodFactory

The launcher. One call — `launchToken(name, symbol, metadataURI, feeRecipient, airdropRoot, quoteToken, buyPathToQuote)` — performs the entire launch atomically: token deploy (CREATE2, predictable address via `predictTokenAddress`), airdrop escrow funding, pool creation with anti-grief price check, TWAP observation provisioning, LP mint into the locker, and the optional capped initial buy.

Owner powers (2-step ownership, intended for a multisig):

| Function         | Effect                                                       | Blast radius                                                |
| ---------------- | ------------------------------------------------------------ | ----------------------------------------------------------- |
| `setQuoteConfig` | Enable/adjust a pair (launch price tick + graduation target) | **Future launches only** — live tokens are locked in escrow |
| `setLaunchFee`   | Flat per-launch fee (may be zero)                            | Future launches only                                        |
| `setTreasury`    | Where protocol fees go                                       | Fee routing only                                            |

Hard constants no one can change: 1B supply, 2.5% airdrop, 5% initial-buy cap, 5%/\~5min anti-sniper window, pool fee tier.

## AirdropEscrow

Holds each token's 2.5% airdrop with its merkle root, pair, and graduation target — all **locked at launch**. Graduation is verified by a 30-minute TWAP read straight from the pool (`poke()` — permissionless). Claims are merkle-proof based with a 30-day window; leftovers are burned. **This contract has no owner and no admin functions.**

## LP Locker

Custodies every launch's LP position NFT. Fee collection is permissionless and instantly splits both sides **95% creator / 5% protocol**; creators can redirect their own stream. An emergency admin (multisig) exists for incident response — it can move a position out of custody, but **pending creator fees are always paid out first**, and the role is rotatable and permanently renounceable. This is disclosed here because trust models should be read, not assumed — see [Security & Trust Model](/contracts/security.md).

## HoodToken (every launched token)

Fixed supply, 18 decimals, EIP-2612 permit, immutable metadata. No mint, no burn, no pause, no blacklist. The only special behavior is the [anti-sniper window](/terminal-launchpad/fair-launch.md), which self-destructs after launch and cannot be revived.


---

# 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.socialhood.app/contracts/factory.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.
