> For the complete documentation index, see [llms.txt](https://docs.trover.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trover.tech/engineering/routing-and-pons-launchpad.md).

# Robinhood Chain routing and Pons launches

## Uniswap

The local venue uses the official Robinhood Chain Uniswap V3 deployment:

* factory: `0x1f7d7550b1b028f7571e69a784071f0205fd2efa`
* QuoterV2: `0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7`
* SwapRouter02: `0xcaf681a66d020601342297493863e78c959e5cb2`

`syncRobinhoodStockTokens` reads every current canonical stock token from Robinhood's registry, calls `getPool` against WETH and USDG at the standard fee tiers, ignores empty pools, and persists every live relationship in `dex_pools`. `LOCAL_ROUTE_POOLS_JSON` is now only an operator override; it does not need to contain the stock-token catalog.

The hosted Uniswap venue remains enabled and can quote Uniswap V2, V3, V4, and UniswapX routes for arbitrary ERC-20 contract addresses. Chat commands can use a canonical stock ticker or an explicit `0x…` token address. An explicit address is resolved through bytecode plus ERC-20 `symbol` and `decimals` calls before quoting.

## Other DEXes

`ADDITIONAL_V2_VENUES_JSON` enables verified Uniswap-V2-compatible routers and includes them in best-route comparison. Example:

```json
[{"name":"sushiswap_v2","router":"0xVERIFIED_ROUTER","enabled":true}]
```

Do not enter a router until the venue publishes a Robinhood Chain (chain ID 4663) deployment and the address is independently verified on Blockscout. As of this implementation, Sushi does not publish an official Robinhood Chain deployment, so no Sushi address is guessed or enabled by default.

## Pons launches from X

An explicitly requested launch from linked X or website chat creates a durable Pons launch intent. The parser and OpenAI structured extraction collect only the fields Pons currently uses:

* name (letters, numbers, spaces; 32 characters maximum)
* ticker (letters and numbers; 10 characters maximum)
* description (256 characters maximum)
* attached X image, falling back to the user's X profile image
* optional Telegram, website, creator-wallet developer buy

Pons launches on Robinhood Chain mainnet only. Its current launch configuration supplies the fixed token/pool parameters, so Trover never asks for a testnet, supply, decimals, or mintability choice. The X profile defaults to the signed author's profile. For public mentions, the website defaults to the source post URL, so the launch links back to the exact request unless the user provides another website.

The agent asks only for missing required launch metadata: name, ticker, description, a usable image, and a linked X profile. A short follow-up fills the first still-missing field, so `launch a token` → `test` → `test` continues one intent rather than starting a new launch. Developer buy, Telegram, website, and creator-wallet selection remain optional.

Images are fetched from the attached signed X post first, falling back to the signed author's X profile image, then uploaded through Pons' public IPFS endpoint. Public-upload consent is required in the request unless `AUTO_CONFIRM_PONS_PUBLIC_UPLOAD=true`. The worker checks Pons' live status endpoint, verifies the returned first-party factory, simulates the transaction, and submits it through the user's delegated wallet. `TRADING_DRY_RUN=true` compiles and simulates without broadcasting.

The configured factory is `0xA5aAb3F0c6EeadF30Ef1D3Eb997108E976351feB`; config ID and DEX config ID are both `0`. The worker refuses to submit if Pons reports a different factory or disables either configuration.


---

# 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.trover.tech/engineering/routing-and-pons-launchpad.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.
