> 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/reference/robinhood-chain.md).

# Robinhood Chain

stonk.market runs a second, independent deployment on **Robinhood Chain mainnet (chainId 4663)**, live since **2 September 2026**.

It is the same protocol, not a variant: `StonkFactoryV2`, `StonkHook`, `StonkTokenV2`, `StonkFeeLocker` and `MarketHoursOracle` are byte-for-byte the contracts deployed on Base. No source changed for this chain. Every protocol rule described elsewhere in these docs — the NYSE trading window, the 5% wallet cap, the 1% asset-leg fee, permanent liquidity, no graduation — applies here identically.

What differs is the chain around them: the backing assets, the launch fees, the oracle, and one router quirk that matters if you trade directly on-chain.

{% hint style="info" %}
**A second, newer deployment also lives on this chain:** [**Stonk v3**](/docs/stonk-v3/deployments-mainnet.md), live since 14 September 2026. It is a different set of contracts with its own factory, hook and token implementation, and the rest of this page describes the v2 deployment. The chain-level facts below — RPC, explorer, gas, the Universal Router quirk, the assets — apply to both.
{% endhint %}

## The Chain

|           |                                                                        |
| --------- | ---------------------------------------------------------------------- |
| Name      | Robinhood Chain                                                        |
| Chain ID  | 4663                                                                   |
| Stack     | Arbitrum Orbit (Nitro) L2 — **not** an OP-stack chain                  |
| Gas token | ETH                                                                    |
| RPC       | `https://rpc.mainnet.chain.robinhood.com`                              |
| Explorer  | [robinhoodchain.blockscout.com](https://robinhoodchain.blockscout.com) |

## Contracts

| Contract                      | Address                                                                                                                                  | What it does                                                             |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| StonkFactoryV2                | [`0x162673f9b07A55c5082ee21F4e2ecb73D731Dd75`](https://robinhoodchain.blockscout.com/address/0x162673f9b07A55c5082ee21F4e2ecb73D731Dd75) | Launches new tokens and seeds each one's Uniswap v4 pool                 |
| StonkHook                     | [`0x3f7b2634AeE7173Ed0F5328CeB8a2134F8B95ACc`](https://robinhoodchain.blockscout.com/address/0x3f7b2634AeE7173Ed0F5328CeB8a2134F8B95ACc) | Uniswap v4 hook: market hours, the 1% asset-leg fee, permanent liquidity |
| StonkFeeLocker                | [`0x122C20f114Bb6c78299E5CB78A765Bdf6D942A46`](https://robinhoodchain.blockscout.com/address/0x122C20f114Bb6c78299E5CB78A765Bdf6D942A46) | Holds accrued trade fees; beneficiaries claim from here                  |
| StonkTokenV2 (implementation) | [`0xcaF212aba219Ba8D72849a261021687DA0cbfF50`](https://robinhoodchain.blockscout.com/address/0xcaF212aba219Ba8D72849a261021687DA0cbfF50) | Token logic, cloned per launch (EIP-1167)                                |
| MarketHoursOracle             | [`0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE`](https://robinhoodchain.blockscout.com/address/0xD454Ce3959F3f68Bfbd45AB6bD2beE3B2E7dd7AE) | Tracks NYSE market hours — **this chain's own oracle**, see below        |
| Uniswap v4 PoolManager        | [`0x8366a39CC670B4001A1121B8F6A443A643e40951`](https://robinhoodchain.blockscout.com/address/0x8366a39CC670B4001A1121B8F6A443A643e40951) | The Uniswap v4 singleton every stonk pool lives in                       |

The hook address ends in the flag suffix `0x1ACC`, mined with CREATE2 through the canonical Arachnid proxy, exactly as on Base.

All five contracts are **verified on Sourcify** (exact match, chain 4663). Robinhood Chain's Blockscout API sits behind a Cloudflare user-agent gate that rejects automated verification requests, so Sourcify is the canonical source of verified sources for this chain.

## Ownership

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

Same keys as Base, but a separate deployment: the two chains' contracts are unrelated on-chain and are administered independently.

## Backing Assets

Two assets are enabled. Robinhood Chain's gas token is ETH, so a WETH-backed launch is payable in native ETH (wrapped for you) or in WETH directly, exactly as on Base.

| Asset | Address                                                                                                                                  | Decimals |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| WETH  | [`0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73`](https://robinhoodchain.blockscout.com/address/0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73) | 18       |
| USDG  | [`0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168`](https://robinhoodchain.blockscout.com/address/0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168) | 6        |

USDG is Robinhood Chain's US-dollar stablecoin and takes the place USDC holds on Base. Because it is also a 6-decimal dollar stablecoin, it reuses the USDC curve parameters unchanged.

## Fees and Limits

|            | WETH tokens  | USDG tokens  |
| ---------- | ------------ | ------------ |
| Launch fee | **0 (free)** | **0 (free)** |
| Trade fee  | 1%           | 1%           |
| Max wallet | 5% of supply | 5% of supply |

**Launching is free on Robinhood Chain.** Both launch fees were deliberately set to zero on the live factory — you pay only network gas and whatever you choose to spend on an optional launch buy. This is the one economic difference from Base, where launches cost 0.1 WETH / 150 USDC.

The 1% trade fee behaves exactly as on Base: withheld from the backing-asset leg of every swap and split creator 10% / platform referrer 10% / treasury 80% (10 / 90 if unreferred). See [Protocol Configuration](/docs/reference/protocol-configuration.md).

## Curve Parameters

| Parameter              | WETH        | USDG              |
| ---------------------- | ----------- | ----------------- |
| Virtual token reserves | 700,000,000 | 700,000,000       |
| Virtual asset reserves | 2 WETH      | 3,285.714286 USDG |
| Discovery raise        | 7 WETH      | 11,500 USDG       |
| Max launch buy         | 0.1 WETH    | 160 USDG          |
| Market-band ceiling    | 1000x       | 1000x             |
| Tick spacing           | 60          | 60                |

Total supply, the 0.5% dev allocation and the 5% wallet cap are the same global values used on Base.

## This Chain Has Its Own Oracle

Base's `MarketHoursOracle` predates v2 and was reused. Robinhood Chain had none, so the deploy stood up a **second, independent oracle** at the address above. It is a separate contract with its own holiday calendar and its own owner — changes on one chain do not propagate to the other.

The Robinhood oracle currently carries **20 holidays: the full 2026 and 2027 NYSE calendars** — the same dates Base's oracle holds, loaded separately. The NYSE rules — 9:30 AM – 4:00 PM ET, weekends, DST — are computed on-chain and need no loading; only the holiday dates do. A year that has not been loaded fails **open**: the market trades through an unloaded holiday rather than halting.

Read the live list with `getHolidays()`. See [MarketHoursOracle](/docs/smart-contracts/market-hours-oracle.md) for the full interface.

## Trading Directly On-Chain: the Universal Router Takes an Extra Field

**This is the single most important thing to know if you are integrating with Robinhood Chain.** It is an SDK/front-end concern, not a contract one — nothing about StonkHook or the pools differs.

Robinhood Chain's Universal Router is an official Uniswap deployment, but it is a **feature-extended build**, not the 19,499-byte binary shipped to Base, Arbitrum, Optimism, Unichain and others. Its v4 swap parameters carry an extra per-hop price guard:

```solidity
struct ExactInputSingleParams {
    PoolKey  poolKey;
    bool     zeroForOne;
    uint128  amountIn;
    uint128  amountOutMinimum;
    uint256  minHopPriceX36;   // <-- not present in the stock router
    bytes    hookData;
}
```

`ExactOutputSingleParams` gains the same field, and the multi-hop params gain a `uint256[] minHopPriceX36`. Command and action constants are unchanged (`V4_SWAP = 0x10`, `SWAP_EXACT_IN_SINGLE = 0x06`, `SETTLE_ALL = 0x0c`, `TAKE_ALL = 0x0f`).

Three consequences:

1. **Stock-shaped calldata reverts with empty returndata.** The router slices these params in assembly, so a stock encoding misreads the `hookData` offset and reverts with no selector and no reason string — nothing to grep for in a trace.
2. **The V4Quoter on this chain is stock.** Its params are unchanged, so an integration that shares one encoder between quoting and trading will quote correctly and then fail every trade.
3. **Passing `minHopPriceX36 = 0` reproduces stock behaviour exactly** — the guard is applied only when the field is non-zero. That is the simplest way to support both chains: detect the variant per chain and pass zero here.

Detect the variant per chain rather than special-casing Robinhood; other partner chains ship their own router builds.

### Uniswap v4 Infrastructure

| Contract         | Address                                                                                                                                  |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| PoolManager      | [`0x8366a39CC670B4001A1121B8F6A443A643e40951`](https://robinhoodchain.blockscout.com/address/0x8366a39CC670B4001A1121B8F6A443A643e40951) |
| Universal Router | [`0x8876789976dEcBfCbBbe364623C63652db8C0904`](https://robinhoodchain.blockscout.com/address/0x8876789976dEcBfCbBbe364623C63652db8C0904) |
| V4Quoter         | [`0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94`](https://robinhoodchain.blockscout.com/address/0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94) |
| StateView        | [`0xF3334192D15450CdD385c8B70e03f9A6bD9E673b`](https://robinhoodchain.blockscout.com/address/0xF3334192D15450CdD385c8B70e03f9A6bD9E673b) |
| PositionManager  | [`0x58daec3116aae6D93017bAAea7749052E8a04fA7`](https://robinhoodchain.blockscout.com/address/0x58daec3116aae6D93017bAAea7749052E8a04fA7) |
| Permit2          | [`0x000000000022D473030F116dDEE9F6B43aC78BA3`](https://robinhoodchain.blockscout.com/address/0x000000000022D473030F116dDEE9F6B43aC78BA3) |

## Differences from Base at a Glance

|                  | Base                       | Robinhood Chain                  |
| ---------------- | -------------------------- | -------------------------------- |
| Chain ID         | 8453                       | 4663                             |
| Stack            | OP Stack                   | Arbitrum Orbit (Nitro)           |
| Backing assets   | ETH / WETH, USDC           | ETH / WETH, USDG                 |
| Launch fee       | 0.1 WETH / 150 USDC        | free on both                     |
| Oracle           | shared with v1             | its own, deployed with the stack |
| Universal Router | stock                      | takes `minHopPriceX36`           |
| Verified on      | Sourcify + Base Blockscout | Sourcify                         |

Everything not in that table — the contracts, the curve, the trading window, the fee split, the wallet cap, immutability — is identical.

## Checking a Token Is Official

Every genuine stonk token on this chain is a clone launched by the factory above. Confirm a token was deployed by StonkFactoryV2 at `0x162673f9b07A55c5082ee21F4e2ecb73D731Dd75` — and note that a Base address is **not** valid here, and vice versa: the two deployments share no addresses.


---

# 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/reference/robinhood-chain.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.
