Developers

Docs

Production reference for integrating with Robinlaunch on Robinhood Chain — contracts, launch flows, and secured public read APIs. You do not need to stand up your own API.

Product

Overview

Robinlaunch is the fair-launch pad for Robinhood Chain. Two on-chain launch modes:

Bonding curve

Price rises with buys. Auto-graduates to Uniswap V3 at 2.5 ETH collected.

Direct Pool

Instant Uniswap V3 pool. Creator ETH sets launch price; LP locked at launch.

CreateTradeGraduate / PoolLP fees

Start here

How to integrate

Path 1

Call the smart contracts

Connect a wallet to Robinhood Chain and use Factory / DirectFactory / BondingCurve / LpFeeCollector like any EVM dapp. Addresses and flows are below. You do not need our website or HTTP API for this.

Path 2

Use the public HTTP APIs (optional)

robinlaunch.fun already exposes read helpers (catalog, trades, charts, search). Call them from your app if you want indexed data without scanning the chain yourself. You do not create these routes — they already run on the live site.

Path 3

Product UX (users)

Creators and traders use the UI at robinlaunch.fun. For how bonding / Direct Pool / fees work for end users, see How it Works — not this page.

Network

Chain

NameRobinhood Chain
Chain ID4663
Native assetETH
RPChttps://rpc.mainnet.chain.robinhood.com
ExplorerBlockscout

The Robinlaunch UI always reads mainnet via APP_CHAIN_ID and /api/rpc(browser) — not the wallet's active chain alone.

On-chain

Contracts & flows

Active — new launches

Active

Factory v8 (Bonding Curve)

Active — new bonding launches; 2.5 ETH graduation; LP NFT → LpFeeCollector

Explorer
Active

DirectFactory v3 (Direct Pool)

Active — instant Uniswap V3 pool; LP NFT → LpFeeCollector; pendingFees dust fix

Explorer
Active

LpFeeCollector

Holds LP NFTs; 50/50 creator/protocol swap fees; liquidity never withdrawable

Explorer

Legacy — catalog only

Legacy

Factory v4

Legacy — no creator fee split; catalog read-only

Explorer
Legacy

Factory v5

Legacy — creator fees; higher graduation threshold era

Explorer
Legacy

Factory v6

Legacy — 2.5 ETH graduation; testnet Uniswap wiring

Explorer
Legacy

Factory v7

Legacy — LP burned to 0xdead at graduation

Explorer
Legacy

DirectFactory v1

Legacy — LP burned to 0xdead

Explorer
Legacy

DirectFactory v2

Legacy — LpFeeCollector wired; superseded by v3 accounting fix

Explorer

Uniswap / WETH

Infra

WETH

Quote asset for pools

Explorer
Infra

Uniswap V3 Factory

Pool creation at graduation / direct launch

Explorer
Infra

Uniswap V3 Position Manager

LP NFT mint

Explorer
Infra

Uniswap V3 Swap Router

Post-graduation / direct-pool swaps

Explorer

Key constants

ConstantValueNotes
APP_CHAIN_ID4663Robinhood Chain mainnet
createFee0.002 ETHPaid on createToken (bonding & direct)
GRADUATION_ETH2.5 ETHNet ETH collected to graduate (v6+)
TOTAL_SUPPLY1,000,000,000Fixed ERC-20 supply
TOKENS_FOR_SALE800,000,000Sold on bonding curve
TOKENS_FOR_LP200,000,000Reserved for Uniswap V3 LP
Trade fee1% total0.5% protocol + 0.5% creator on curve trades
LP fees (v8+ / DF v2+)50 / 50Creator / protocol via LpFeeCollector
Factories indexed5 bonding + 3 direct/api/curves merges all versions for the catalog
Active launch targetsFactory 0x108e… / Direct 0x52af…UI createToken always targets these

Create (bonding)

Factory.createToken(name, symbol, metadataURI) payable — createFee + optional initial buy ETH. Deploys Token + BondingCurve; sale supply moves to the curve.

Trade (bonding)

BondingCurve.buy(minTokensOut) / sell(tokensIn, minEthOut). Virtual x·y=k; 1% fee split; may trigger graduation.

Graduate

When net ETH ≥ GRADUATION_ETH (or sale tokens exhausted): wrap to WETH, create Uniswap V3 pool (1% fee tier), mint full-range LP. NFT → LpFeeCollector (v8+) or 0xdead (legacy).

Create (direct pool)

DirectFactory.createToken — instant Uniswap V3 pool; initial ETH sets price/mcap; LP locked via collector (v2+).

Fees

Protocol: Factory/DirectFactory.withdrawFees (owner). Creator curve fees: claim on-chain from the curve. Post-grad LP: LpFeeCollector.collectFees + claim (50/50).

HTTP

Public APIs

Base URL https://robinlaunch.fun. Optional helpers for catalog / trades / charts. Pure on-chain integrations can skip these entirely.

curl -s "https://robinlaunch.fun/api/curves" | head
# → { "total": "…", "curves": [ … ] }
RoutePurpose
GET /api/curvesAggregated token catalog from all Factory + DirectFactory versions
POST /api/rpcBrowser RPC proxy (CORS-safe) to Robinhood mainnet
POST /api/uploadPin token image/banner + metadata JSON to IPFS (Pinata)
GET /api/ipfs/…Same-origin IPFS gateway proxy
GET /api/metadataFetch/parse token metadata URI
GET /api/token-image/[address]Resolve token logo URL
GET /api/curve-trades/[curve]Bonding-curve buy/sell event history
GET /api/curve-pnl/[curve]/[wallet]Per-token PnL for a wallet on a curve
GET /api/wallet-pnl/[address]Portfolio PnL aggregation
GET /api/wallet-tokens/[address]Wallet holdings discovery
GET /api/searchSearch Robinlaunch + external chain tokens
GET /api/external-trendingGeckoTerminal trending/new/movers/volume
GET /api/external-pool/[pool]External pool metadata
GET /api/external-ohlcvOHLCV for chain pools (charts)
GET /api/pool-ohlcv/[pool]OHLCV for graduated / known pools
GET /api/pool-volume/[pool]Pool volume helpers
POST /api/uniswap-quoteOptional Uniswap Trading API quotes
GET /api/swap-resolveResolve DEX route (V2/V3/API) for a token

API security

Rate limiting

Every /api route is rate-limited per IP. A global middleware cap applies on top of per-route limits. Exceeding limits returns HTTP 429.

Same-site by default

Public APIs do not send Access-Control-Allow-Origin: *. Browser apps on other domains cannot call them via CORS. Prefer on-chain reads for third-party dapps.

App vs external limits

Traffic from robinlaunch.fun (or localhost) gets high rate limits. Third-party / curl callers get a tiny budget on purpose. POST /api/upload is site-only.

RPC method denylist

The RPC proxy forwards eth_*/net_*/web3_* reads. eth_sendRawTransaction, signing, filters, subscribe, and debug_* are rejected.

Upload hardening

Images are sniff-validated (PNG/JPEG/GIF/WEBP only), size-capped, and https:// is required for any social URL fields.

Trust

Protocol boundaries

  • No LP rug path — locked liquidity cannot be withdrawn; only fee claims apply.
  • Protocol fees only — owner withdraws accrued protocol fees, never user pool principal.
  • Metadata — social links must be full https:// URLs; images are content-sniffed.
  • Secrets — never commit .env, Pinata JWT, or deploy keys.

Product UX → How it Works · Roadmap → /roadmap