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

# Contracts

The two addresses you need, what every contract does, and the live parameters.

Everything in Degen Games reads and writes on-chain. There's no Degen Games API in the trust path. Index the launch factory and each coin's curve, and you can rebuild the entire state of the arcade yourself.

## Robinhood Chain (4663)

| Contract           | Address                                                                                                                       |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Launch factory** | [`0xa8788400ECe2342F17Faf659E2793a06bc4ad140`](https://robin.etherscan.io/address/0xa8788400ECe2342F17Faf659E2793a06bc4ad140) |
| **Meme hook**      | [`0x0f3DdB1D7bfc3469036C5F393FF47dafF0f72044`](https://robin.etherscan.io/address/0x0f3DdB1D7bfc3469036C5F393FF47dafF0f72044) |

These are the only two addresses you need. The **launch factory** is the entry point for everything before graduation, and the **meme hook** handles every graduated pool.

The factory was deployed at block **68,378,200**. Start indexing from there.

### Everything else resolves from the factory

The supporting contracts are all readable from the launch factory, so you never have to hard-code them:

| Getter on the launch factory                      | Returns                                                 |
| ------------------------------------------------- | ------------------------------------------------------- |
| `memeHook()`                                      | The meme hook                                           |
| `feeEscrow()`                                     | The fee escrow                                          |
| `buybackVault()`                                  | The buyback vault                                       |
| `locker()`                                        | The launch locker                                       |
| `launchForwarder()`                               | The launch & buy router                                 |
| `launchDeployer()`                                | The launch deployer                                     |
| `graduationExecutor()`, `graduationGuard()`       | The graduation contracts                                |
| `poolManager()`, `positionManager()`, `permit2()` | The Uniswap v4 and Permit2 contracts the launchpad uses |

LP positions are burned to `0x000000000000000000000000000000000000dEaD`.

{% hint style="warning" %}
Each coin has its **own** token and curve contracts, deployed at launch. Resolve them from the factory with `getLaunchedToken(token)` or the `TokenLaunched` event rather than hard-coding them.
{% endhint %}

## What each contract does

| Contract                        | Role                                                                                                                                                              |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Launch factory**              | The entry point. Deploys every coin, holds launch configs, approved raise assets and fee policy snapshots, and drives graduation.                                 |
| **Bonding curve**               | One per coin. Prices and settles every trade before graduation.                                                                                                   |
| **Launch token**                | One per coin. A fixed-supply ERC-20, minted in full to its curve.                                                                                                 |
| **Meme hook**                   | A single Uniswap v4 hook shared by all graduated pools. It charges the trading fee and creator tax on each swap. It only accepts pools registered by the factory. |
| **Fee escrow**                  | Holds claimable balances for creators and the protocol, in ETH and in ERC-20s.                                                                                    |
| **Buyback vault**               | Holds bought-back coins for coins with buybacks on, and releases them linearly over 5 years.                                                                      |
| **Launch locker**               | Receives each graduation's position and sends it to the burn address.                                                                                             |
| **Launch & buy router**         | Optional. Creates a coin and makes the dev buy in one transaction.                                                                                                |
| **Launch deployer**             | Deploys each coin's curve and token at deterministic (CREATE2) addresses.                                                                                         |
| **Graduation executor**         | Mints the full-range Uniswap v4 position at graduation.                                                                                                           |
| **Graduation guard**            | Checks that a curve's reserves can seed a valid pool before graduation runs.                                                                                      |
| **Rewards distributor factory** | Creates a rewards vault for any coin that turns on holder rewards.                                                                                                |
| **Rewards distributor**         | One per coin with holder rewards. Runs epochs and pays claims against a Merkle root.                                                                              |

## Live parameters

The values in effect on Robinhood Chain for launch config `0`, with an ETH raise:

| Parameter                                | Value                                            | Read with                                                                      |
| ---------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------ |
| Supply                                   | 1,000,000,000 × 10¹⁸                             | `getLaunchConfig(0).supply`                                                    |
| Curve fee                                | 100 bps (1%)                                     | `getLaunchConfig(0).curveFeeBps`                                               |
| Virtual (phantom) reserve                | 1.68 ETH                                         | `getLaunchConfig(0).phantomQuote`                                              |
| Graduation threshold                     | 4.2 ETH                                          | `getLaunchConfig(0).graduationThreshold`                                       |
| Pool LP fee / tick spacing               | 0 / 200                                          | `getLaunchConfig(0).poolFee`, `.tickSpacing`                                   |
| Launch fee                               | 0.0005 ETH                                       | `launchFee()`                                                                  |
| Max creator tax                          | 1,000 bps (10%)                                  | `maxCreatorTaxBps()`                                                           |
| Snipe window / start rate                | 3 s / 9,900 bps (99%)                            | `snipeTaxSeconds()`, `snipeTaxStartBps()`                                      |
| Platform share of the trading fee        | 3,000 bps (30% of the 1%, so 0.3% of each trade) | `getLaunchFeePolicy(token).protocolFeeShareBps`                                |
| Buyback slice (buyback coins only)       | 5,000 bps (50%) of the creator share             | `getLaunchFeePolicy(token).buybackBurnBps`                                     |
| Pool (hook) fee after graduation         | 100 bps (1%)                                     | `getLaunchFeePolicy(token).hookFeeBps`                                         |
| Max internal price impact                | 300 bps (3%)                                     | `getLaunchFeePolicy(token).maxInternalPriceImpactBps`                          |
| Fee-recipient takeover timelock / window | 3 days / 3 days                                  | `CREATOR_FEE_RECIPIENT_TIMELOCK()`, `CREATOR_FEE_RECIPIENT_EXECUTION_WINDOW()` |
| Graduation rescue delay                  | 7 days                                           | `GRADUATION_RESCUE_DELAY()`                                                    |
| Buyback vesting                          | 5 years                                          | `VESTING_DURATION()` on the buyback vault                                      |
| Holder-reward claim delay / window       | 1 hour / 90 days                                 | `CLAIM_DELAY()`, `CLAIM_WINDOW()` on a rewards distributor                     |

Raise assets other than ETH have their own reserve and threshold. Read them with `pairTokenEconomics(asset)`. See [Raise Assets](/degen-games-docs/how-the-game-works/raise-assets.md).

{% hint style="info" %}
A coin takes a snapshot of its terms at launch: fees, fee split, snipe window and graduation target. If the platform changes a parameter later, it applies to **new** coins only.
{% endhint %}

## BNB Chain (56)

| Contract           | Address                                                                                                                |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| **Launch factory** | [`0xe3765fb78adaf2e3caa3ae190e4c770f234e4523`](https://bscscan.com/address/0xe3765fb78adaf2e3caa3ae190e4c770f234e4523) |
| **Meme hook**      | [`0x72b51E976575b87D527f85Ccb3C909200689cF14`](https://bscscan.com/address/0x72b51E976575b87D527f85Ccb3C909200689cF14) |

The same two addresses do the same two jobs, and every other contract resolves from the factory with the getters above.

The contracts are the same, so the parameters are too. Read them and compare:

| Parameter                    | Robinhood Chain | BNB Chain  |
| ---------------------------- | --------------- | ---------- |
| `feeBps`                     | 100             | 100        |
| `protocolFeeShareBps`        | 3000            | 3000       |
| `snipeTaxSeconds`            | 3               | 3          |
| `snipeTaxStartBps`           | 9900            | 9900       |
| `owner()` on a launched coin | `0x…dEaD`       | `0x…dEaD`  |
| `launchFee()`                | 0.0005 ETH      | 0.0015 BNB |

What differs is only what has to: the gas token, the launch fee, and the raise assets. On BNB Chain a coin can raise in native BNB (5.8 virtual, graduating at 14.5), USDT, USD1, USDC or a tokenized stock. See [BNB Chain](/degen-games-docs/multi-chain/bnb-chain.md).

{% hint style="info" %}
The **native** asset's curve is read from `getLaunchConfig(id)`, not from `approvedPairTokens`. That mapping only covers ERC-20 pair tokens, so `approvedPairTokens(0x0)` returns `false` on every chain even though the native asset is always supported.
{% endhint %}

## Other chains

Addresses for Ethereum and other chains will be added here as each one goes live. See [Supported Chains](/degen-games-docs/multi-chain/supported-chains.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://degen-games-2.gitbook.io/degen-games-docs/developers/contracts.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.
