# Contracts

All addresses are **mainnet**. Tonton is mainnet-only.

## Core

| Contract    | Address                                            |
| ----------- | -------------------------------------------------- |
| **Factory** | `EQAZoBb1c43CEorgTx1ctDIe7MwMy29untZxRLRWVR6PmbIu` |

Every launch flows through the factory. It deploys a new curve + master pair at a deterministic address derived from `(creator, content)`. You can preview the destination address before launching with the SDK's `getCurveAddress()`.

## STON.fi

Used at graduation when a curve fills.

| Contract    | Address                                            |
| ----------- | -------------------------------------------------- |
| Router      | `EQAQYbnb1EGK0Wb8mk3vEW4vbHTyv7cOcfJlPWQ87_6_qfzR` |
| pTON wallet | `EQARZ1hF4v95ELsH7pCPMN79_UeqKOOgOjt8xrkW9HhIM-u1` |

Graduated tokens trade against TON on STON.fi. The graduated token page shows a direct link to the swap UI.

## Per-token

Every token deploys:

* **Curve** — the bonding curve contract. Holds the TON reserves, mints jettons via the master, sells via TEP-74 transfers, owns the migration.
* **Master** — TEP-74 jetton master (`get_wallet_address`, `get_jetton_data`).
* **Adapter** — used only during graduation to coordinate the STON.fi `PROVIDE_LP` halves. Doesn't sign anything during normal trading.

The frontend exposes the curve address as the canonical "token address" in URLs, leaderboards, and the API (`token.address` = curve, `token.masterAddress` = jetton master).


---

# 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://docs.tonton.fun/contracts.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.
