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

# Mainnet Deployment

Stonk v3 on **Robinhood Chain**, chain ID **4663**. Live since **14 September 2026**.

{% hint style="warning" %}
**This is real money.** Base mainnet runs [v2](/docs/reference/deployments.md) and has no v3 deployment. Robinhood Chain's v2 deployment also stays live and keeps its existing tokens — v3 is a separate, independent set of contracts, and the two share no addresses. A v3 token is one launched by the StonkFactoryV3 below.
{% endhint %}

|                |                                                                        |
| -------------- | ---------------------------------------------------------------------- |
| Network        | Robinhood Chain                                                        |
| Chain ID       | 4663                                                                   |
| Deployed       | 14 September 2026, 01:38 UTC                                           |
| Explorer       | [robinhoodchain.blockscout.com](https://robinhoodchain.blockscout.com) |
| RPC            | `https://rpc.mainnet.chain.robinhood.com`                              |
| Backing assets | WETH, USDG                                                             |

## Contracts

| Contract                      | Address                                                                                                                                  | What it does                                                                          |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| StonkFactoryV3                | [`0x1d6f1a3a08DFa4FC29043d3B9143347221B64D94`](https://robinhoodchain.blockscout.com/address/0x1d6f1a3a08DFa4FC29043d3B9143347221B64D94) | Launches tokens and seeds each one's Uniswap v4 pool                                  |
| StonkHookV3                   | [`0x9265a95731CE3324D3560573F642Ed7006789AcC`](https://robinhoodchain.blockscout.com/address/0x9265a95731CE3324D3560573F642Ed7006789AcC) | The v4 hook: market hours, the fee and its decay, permanent liquidity, the wallet cap |
| StonkTokenV3 (implementation) | [`0xDB9189C691436dFaC71cA924A6D3DC8F63f644eb`](https://robinhoodchain.blockscout.com/address/0xDB9189C691436dFaC71cA924A6D3DC8F63f644eb) | Token logic, cloned per launch (EIP-1167)                                             |
| StonkFeeLocker                | [`0xB4dD978846930dDd702DAA8F0C2A63056D665dA6`](https://robinhoodchain.blockscout.com/address/0xB4dD978846930dDd702DAA8F0C2A63056D665dA6) | Holds accrued fees; beneficiaries claim from here                                     |
| NyseWindowOracle              | [`0x7b35274416e21bA1356E1748D6990dD1A3D71Fa2`](https://robinhoodchain.blockscout.com/address/0x7b35274416e21bA1356E1748D6990dD1A3D71Fa2) | Presents the NYSE calendar as a trading-window oracle                                 |
| StonkOracleRegistry           | [`0x2679b24784a4050B26A61B7C9f30e21Cf92EB5D7`](https://robinhoodchain.blockscout.com/address/0x2679b24784a4050B26A61B7C9f30e21Cf92EB5D7) | Which trading-window schedules a launch may choose                                    |
| StonkNameRegistry             | [`0x2C9CBEAD56B59f70bdC1a72E5af4c65d85C93226`](https://robinhoodchain.blockscout.com/address/0x2C9CBEAD56B59f70bdC1a72E5af4c65d85C93226) | Ticker ownership and the 48-hour exclusivity window                                   |
| StonkLens                     | [`0x90BfFFFb3666c3419a162b43701d0e6EE8aD22B5`](https://robinhoodchain.blockscout.com/address/0x90BfFFFb3666c3419a162b43701d0e6EE8aD22B5) | Read-only helpers for frontends. Holds no state, owns nothing                         |

The window oracle is an **adapter**, not a new calendar: it reads the same MarketHoursOracle at [`0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE`](https://robinhoodchain.blockscout.com/address/0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE) that this chain's v2 deployment uses. One holiday calendar serves both versions, so the two cannot disagree about whether the market is open.

## $market and its sinks

Launched on 14 September 2026 at 01:55 UTC, in a separate one-shot ceremony after the stack above.

| Contract             | Address                                                                                                                                  | What it does                                                             |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| $market              | [`0x024c1F42e1aD70f2182F2f9BC491823bc4e3d90a`](https://robinhoodchain.blockscout.com/address/0x024c1F42e1aD70f2182F2f9BC491823bc4e3d90a) | The protocol token. 3% fee, backed by USDG                               |
| StonkBuyback         | [`0x31c25965A7EBCFA138B969f740fC63941Edba5e7`](https://robinhoodchain.blockscout.com/address/0x31c25965A7EBCFA138B969f740fC63941Edba5e7) | Buys $market and burns it, on an hourly drip                             |
| StonkLiquidityRouter | [`0x470222b49682c3ECfd5c01428943390d5600D321`](https://robinhoodchain.blockscout.com/address/0x470222b49682c3ECfd5c01428943390d5600D321) | Deepens $market's own pool, permanently                                  |
| StonkFeeRouter       | [`0xB3651134Dd00feb7135A53Af068c4ab6cC65d210`](https://robinhoodchain.blockscout.com/address/0xB3651134Dd00feb7135A53Af068c4ab6cC65d210) | Converts each asset's protocol share and splits it between the two above |

**The ticker is `market`, not `STONK`.** On chain the token reads `symbol` **market** and `name` **stonk** — the two halves of stonk.market, and what the published metadata manifest says. Both are written once at initialize and can never change, so a wallet, explorer or frontend showing anything else is not showing this token. The contracts around it keep their `Stonk` prefix — `StonkBuyback`, `StonkLiquidityRouter`, `StonkFeeRouter` — because those are source names, fixed at compile time and unrelated to the ticker.

| $market parameter                     | Value                                                                 |
| ------------------------------------- | --------------------------------------------------------------------- |
| Backing asset                         | USDG                                                                  |
| Trade fee                             | 3% (`30000` pips)                                                     |
| Permanent-liquidity share of that fee | 25%                                                                   |
| Buy-and-burn share                    | 25%                                                                   |
| Treasury share                        | 50%                                                                   |
| Wallet cap                            | 5% of supply                                                          |
| Trading window                        | the same NyseWindowOracle every launch gets                           |
| First tradeable second                | 14 September 2026, 13:30 UTC — the opening bell after it was deployed |

It was deployed outside market hours, so it did what any token deployed outside the session does: waited for the bell. Nothing about it is exempt from the window.

### Current fee and buyback snapshot

Read at mainnet block **77,493,767** (`0xb48f6a8f72fb8fad803d5f5c29410134b17a866e94eb5ff8a55bd5e71534755e`), **1 October 2026, 15:47:59 UTC**. These are point-in-time reads, not deployment defaults or a promise that mutable settings will remain unchanged.

| Read                                                            | Value at this block                          | Meaning                                                                            |
| --------------------------------------------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------- |
| `StonkFeeRouter.buybackShareBps()`                              | `10000`                                      | 100% of the 30% protocol allocation goes to buybacks; 0% goes to $market liquidity |
| Factory `protocolShareBps` / `creatorShareBps` / `liquidityBps` | `3000` / `1000` / `1000`                     | 30% protocol, 10% creator, 10% token-pool liquidity; remainder 50% treasury        |
| Standard USDG / WETH trading fee                                | `10000` pips each                            | 1%                                                                                 |
| $market trading fee                                             | `30000` pips                                 | 3%                                                                                 |
| $market liquidity / buyback / treasury shares                   | `2500` / `2500` / `5000`                     | 25% / 25% / 50% of its own fee, independent of the fee-router split                |
| `StonkBuyback.started()`                                        | `true`                                       | The buyback clock has been activated                                               |
| `StonkBuyback.totalBurned()`                                    | `63516244536957208244183350` raw token units | Nonzero recorded burns                                                             |
| `StonkBuyback.totalSpent()`                                     | `4043746344` raw backing-asset units         | Nonzero recorded spend                                                             |
| Router `totalToBuyback()` / `totalConverted()`                  | `0` / `0`                                    | These router counters do not establish processed protocol-fee flow                 |

Nonzero buyback counters confirm recorded activity, not continuous keeper operation or the origin of every processed fee. This check did not revalidate conversion routes, launch count, unrelated configuration, or testnet activation. The configurable router split is **not currently 50/50**; $market's own 25% permanent-liquidity fee leg remains separate and was confirmed above.

### Historical deployment state

The following is the **14 September 2026 deployment snapshot**, not current status:

| Item              | State at deployment                                               |
| ----------------- | ----------------------------------------------------------------- |
| `buyback.start()` | Not yet called; superseded by the activated status verified above |
| Conversion routes | WETH only; USDG needed none because it is the target asset        |
| Launches          | 1 ($market itself); `deployNonce` was 1                           |

## External contracts

| Contract                          | Address                                                                                                                                  |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Uniswap v4 PoolManager            | [`0x8366a39CC670B4001A1121B8F6A443A643e40951`](https://robinhoodchain.blockscout.com/address/0x8366a39CC670B4001A1121B8F6A443A643e40951) |
| WETH                              | [`0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73`](https://robinhoodchain.blockscout.com/address/0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73) |
| USDG                              | [`0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168`](https://robinhoodchain.blockscout.com/address/0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168) |
| NYSE calendar (MarketHoursOracle) | [`0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE`](https://robinhoodchain.blockscout.com/address/0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE) |

## Configuration

Historical settings read back off the chain after deployment on **14 September 2026**, not copied from the deploy script. Unless explicitly confirmed in the current snapshot above, mutable values below have **not been rechecked** as of 1 October 2026.

| Parameter                  | Value                  | Meaning                                                                      |
| -------------------------- | ---------------------- | ---------------------------------------------------------------------------- |
| `immediateLaunch`          | `true`                 | A launch during market hours trades at once; outside, it waits for the bell  |
| `launchFeeStart`           | `990000` pips          | 99% — the rate in the launch second                                          |
| `launchFeeSeconds`         | `3`                    | How long the decay down to the ordinary rate takes                           |
| `maxWalletBasisPoints`     | `500`                  | 5% of supply per address — 50,000,000 tokens                                 |
| `devAllocationBasisPoints` | `50`                   | 0.5% of supply minted to the creator at launch — 5,000,000 tokens            |
| `liquidityBps`             | `1000`                 | 10% of every fee becomes permanent liquidity                                 |
| `creatorShareBps`          | `1000`                 | 10% of every fee to the creator                                              |
| `protocolShareBps`         | `3000`                 | 30% of every fee to the protocol router; current routing is documented above |
| treasury share             | `5000`                 | The remaining 50%                                                            |
| `MIN_TREASURY_SHARE_BPS`   | `500`                  | Floor no configuration change can go below                                   |
| `MAX_LAUNCH_FEE`           | `990000`               | Hard ceiling on any opening rate, so a buyer always keeps ≥1%                |
| `MAX_TRADE_FEE`            | `50000`                | Hard ceiling on any steady-state rate: 5%                                    |
| `MAX_LIQUIDITY_BPS`        | `5000`                 | Hard ceiling on the permanent-liquidity share: 50%                           |
| ticker exclusivity         | `48 hours`             | How long a ticker is reserved to its launch                                  |
| symbol / name limits       | `16` / `64` characters | Enforced by the name registry                                                |
| token supply               | `1,000,000,000`        | Fixed, per token                                                             |

### The hook's placement parameters

| Parameter                    | Value        |
| ---------------------------- | ------------ |
| `bandWidth`                  | `1200` ticks |
| `bandOffset`                 | `600` ticks  |
| `newHighDelta`               | `600` ticks  |
| `maxRungs`                   | `8`          |
| `maxTickDeltaPerObservation` | `200` ticks  |

### Backing assets

| Asset | Opening tick | Trade fee | Max creator buy | Launch fee   | Deepening threshold |
| ----- | ------------ | --------- | --------------- | ------------ | ------------------- |
| WETH  | `-200880`    | 1%        | 0.06 WETH       | **0 (free)** | 0.01 WETH           |
| USDG  | `-399060`    | 1%        | 160 USDG        | **0 (free)** | 25 USDG             |

Both open at roughly the same valuation despite being priced differently — the opening tick is chosen per asset so that the launch price doesn't depend on which asset backs it. Launching is free on both, as it is on this chain's v2 deployment; you pay network gas and whatever you choose to spend on an optional launch buy.

### The protocol's own plumbing

| Parameter                                                    | Value                                                                           | Where                      |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------- | -------------------------- |
| Burn vs. depth split of converted fees (deployment snapshot) | `5000` bps — historical 50/50 setting, superseded by `10000` at the block above | StonkFeeRouter             |
| Conversion cooldown                                          | 1 hour                                                                          | StonkFeeRouter             |
| WETH → USDG route                                            | the 0.3% / spacing-60 pool, capped at 0.5 WETH per call                         | StonkFeeRouter             |
| Buyback interval                                             | 1 hour, catching up at most 2 hours                                             | StonkBuyback               |
| Spend window                                                 | 30 days                                                                         | StonkBuyback               |
| TWAP window                                                  | 30 minutes, against an observation ring grown to 1801 slots at deploy           | StonkBuyback / StonkHookV3 |
| Keeper reward                                                | `25` bps of each slice                                                          | StonkBuyback               |

The ring is sized at `twapWindow + 1` on purpose. Below that, `consult` reverts under busy trading and the buyback stops executing — silently, and in the safe direction, which is exactly why it is worth stating.

### Roles

| Role                               | Address                                                                                                                                                           |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Owner (factory, registries, sinks) | [`0x1E6F0A86B56Fa66c133F7c08EdE527184eC7EbFB`](https://robinhoodchain.blockscout.com/address/0x1E6F0A86B56Fa66c133F7c08EdE527184eC7EbFB) (Ledger hardware wallet) |
| Treasury (protocol fees)           | [`0x72338634020f2BFcbaCa591B8CB67ECe577A3b02`](https://robinhoodchain.blockscout.com/address/0x72338634020f2BFcbaCa591B8CB67ECe577A3b02)                          |

Every owned contract answers that one key: the factory, the buyback and both routers use two-step ownership with no transfer pending (`pendingOwner` is the zero address on each); the two registries are single-step `Ownable`. The deploy handed ownership over after construction — the factory's constructor takes the *deployer*, which is the same key here. The same keys administer this chain's v2 deployment, but the two deployments are administered independently.

## Source verification

All eleven contracts are verified on **Sourcify**, each an `exact_match` against chain 4663:

* the eight in [Contracts](#contracts), and
* StonkBuyback, StonkLiquidityRouter and StonkFeeRouter.

$market itself is a **clone**, so it has no source of its own to verify — its logic is the verified StonkTokenV3 implementation, and every launched token is the same 45-byte proxy.

{% hint style="info" %}
**Blockscout shows them as unverified, and that is an upstream limitation.** Robinhood Chain's Blockscout API is behind a Cloudflare gate that returns 403 to any automated verification request. The sources are public on Sourcify (`https://repo.sourcify.dev/contracts/full_match/4663/<address>`); showing verified in the Blockscout UI as well needs the standard-json input uploaded through its web form by hand.
{% endhint %}

## Checking a v3 token is genuine

Every genuine v3 token is a clone launched by the factory above. Read `factory()` on the token and check it is `0x1d6f1a3a08DFa4FC29043d3B9143347221B64D94`. A token whose `factory()` is anything else is not a v3 stonk token, whatever it is called — and a ticker alone proves nothing, since tickers are reusable after 48 hours.


---

# 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://stonkmarket.gitbook.io/docs/stonk-v3/deployments-mainnet.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.
