> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mobula.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Integrate Pons on Robinhood Chain

> Complete Pons integration guide for Robinhood Chain: contracts, ABI, Uniswap V3 pricing, liquidity tracking, bonding percentage graduation, migration, and token metadata.

# Pons Launchpad Integration on Robinhood Chain

Learn how to index and integrate the Pons launchpad on Robinhood Chain, including contract discovery, ABI events, token pricing, liquidity, bonding state, graduation, and metadata.
Integrate Pons V3 launch markets, both factory generations, graduation state, and launcher metadata. This guide describes the public contract surface for an independent integration.

## Network and contracts

Unless another chain is listed, these addresses are for Robinhood Chain (`chainId 4663`). Verify proxy implementations and mutable configuration at the indexed block.

| Role           | Address                                      |
| -------------- | -------------------------------------------- |
| Active factory | `0xA5aAb3F0c6EeadF30Ef1D3Eb997108E976351feB` |
| Active locker  | `0x736D76699C26D0d966744cAe304C000d471f7F35` |
| Legacy factory | `0x0c37a24F5D23A486FA692d1500881d698B1F77a4` |
| Legacy locker  | `0x31ca5E101941A93A7DD6d0497928700625CF54B5` |
| V3 factory     | `0x1f7d7550b1b028f7571e69a784071f0205fd2efa` |

## Market discovery and ABI

`TokenLaunched` and `getLaunchedToken` bind token, pair, fee, position manager, position ID, and source factory. Support active and legacy factories independently. Verify the V3 pool returned for `(token, pairedToken, poolFee)` and preserve its `token0/token1`.

### Relevant ABI

```solidity theme={null}
event TokenLaunched(address indexed token,address indexed deployer,address indexed dexFactory,address pairToken,address pool,uint256 dexId,uint256 launchConfigId,uint256 positionId,uint256 restrictionsEndBlock,uint256 initialBuyAmount);
function getLaunchedToken(address token) view returns (address token,address deployer,address pairedToken,address positionManager,uint256 positionId,uint256 dexId,uint256 launchConfigId,uint256 restrictionsEndBlock,uint256 supply,bool isToken0,uint24 poolFee,bool exists,uint256 initialBuyAmount);
function graduationStatus(address token) view returns (uint256 current,uint256 threshold,bool graduated);
function getTokenInfo() view returns (address tokenDeployer,string tokenLogo,string tokenDescription,(string twitter,string telegram,string discord,string website,string farcaster) tokenSocials);
function positions(uint256 tokenId) view returns (uint96,address,address token0,address token1,uint24 fee,int24 tickLower,int24 tickUpper,uint128 liquidity,uint256,uint256,uint128,uint128);
```

## Launchpad architecture and AMM model

Pons is a token launchpad built on top of Uniswap v3-style concentrated-liquidity pools. The V3 market handles swaps and positions, while Pons factories and lockers add launch configuration, token attribution, managed graduation positions, progress, and social metadata.

**Classification: Uniswap v3-like with a launch factory and managed graduation position.** The canonical market uses V3 token ordering, square-root price, ticks, swaps, and NFT position liquidity. Pons adds active/legacy launch factories, lockers, launch configurations, a position ID, and explicit graduation status.

**Shared with V3:** pool factory verification, `token0`/`token1`, `slot0`, signed swap amounts, and concentrated position math. **Protocol-specific:** factory generations, locker association, `getLaunchedToken`, `graduationStatus`, managed position metadata, and launcher-token socials.

## Price calculation

Use V3 `sqrtPriceX96` in actual pool order. Apply decimals and orient the displayed launched-token price using `isToken0`; never mutate pool order.

## Liquidity tracking

Track V3 swaps and position liquidity. The graduation position returned by the position manager supplies tick bounds and liquidity; convert it to token amounts at current sqrt price. Pool token balances provide a separate TVL measure.

## Launchpad state, bonding, and migration

Use `graduationStatus(token)` directly: `progress = clamp(current / threshold × 100)`, and `graduated` is authoritative. When replaying swaps, update the same quote/current quantity according to the launched token side so buys increase and sells decrease progress.

## Metadata

Call `getTokenInfo()` on the launcher token contract. It returns logo, description, deployer, and Twitter/Telegram/Discord/website/Farcaster. Normalize `ipfs://` and `ar://`; merge ERC-20 name/symbol/decimals.

## Indexing checklist

1. Index creation and bind the launched token to its canonical market.
2. Preserve on-chain token/currency order exactly.
3. Replay logs in block, transaction, and log-index order.
4. Keep raw integers until decimals are applied.
5. Treat graduation as protocol state, not a generic price shortcut.

## Historical indexing notes

Use block-scoped reads when initializing historical state. Do not mix `latest` reads into an old-block replay. Store launched-token identity separately from native pool ordering.

## Related Robinhood Chain launchpad integrations

* [RobinFun launchpad integration on Robinhood Chain](/almanac/robinhood-launchpads/robinfun)
* [RealFun launchpad integration on Robinhood Chain](/almanac/robinhood-launchpads/realfun)
* [Bow.fun launchpad integration on Robinhood Chain](/almanac/robinhood-launchpads/bowfun)

For broader methodology, see [Bonding Curves Mathematics](/almanac/bonding-curves) and [Pricing Engine Deep Dive](/almanac/pricing-engine).
