[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95939":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},95939,"robinhood-meme-token-stock-launchpad","brendazure\u002Frobinhood-meme-token-stock-launchpad","brendazure","robinhood chain meme coin launchpad robinhood chain meme coin launchpad robinhood chain meme coin launchpad robinhood chain meme coin launchpad robinhood stock launchpad robinhood stock launchpad robinhood stock launchpad robinhood stock launchpad robinhood meme stock launchpad robinhood meme stock launchpad robinhood meme stock launchpad robinhood","",null,"TypeScript",189,56,120,0,1,5.27,false,"main",true,[22,23,24,25,26,27,28,29],"launchpad","meme-launchper","meme-stock","meme-stock-launchpad","robinhood","robinhood-chain","robinhood-launchpad","robinhood-meme-stock-launchpad","2026-09-21 02:04:29","\n\n**Want your own launchpad?**\n\nI build these end to end: smart contracts, indexer, and front end.\n\nTelegram: [**@cashblaze129**](https:\u002F\u002Ft.me\u002Fcashblaze129)\n\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"public\u002Fassets\u002Fmain-brand.png\" alt=\"RobinPair - meme coins, real stocks, endless opportunities\" width=\"100%\" \u002F>\n\n### Meme coins. Real stocks. Endless opportunities.\n\n**The first meme coin launchpad built for stock-paired markets, powered by Robinhood Chain.**\n\nLaunch and trade meme coins paired directly against tokenised stocks:\n`TOKEN\u002FNVDA` &middot; `TOKEN\u002FAAPL` &middot; `TOKEN\u002FMETA` &middot; `TOKEN\u002FSPCX`\n\nFair launch. No presale. No insider allocation. Real liquidity from day one.\n\n\u003Cbr \u002F>\n\n## Demo\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F344ef0b4-a7e2-4726-8ee3-47ecb773212f\n\n &middot; launch creation, stock-paired trading, graduation\n\n\u003Cbr \u002F>\n\n\n\u003C\u002Fdiv>\n\n---\n\nFair-launch token platform where every launch is quoted in a **Robinhood Chain stock token**\n(TOKEN\u002FNVDA, TOKEN\u002FAAPL, TOKEN\u002FMETA, TOKEN\u002FSPCX …). Tokens trade on a constant-product\nbonding curve denominated in the stock asset and graduate into a locked Uniswap V3\nposition once the curve hits its quote threshold.\n\n```\ncontracts\u002F            Hardhat project (Solidity 0.8.24, OpenZeppelin 5)\n  contracts\u002Fconfig    LaunchpadConfig - every business parameter lives here\n  contracts\u002Fcore      LaunchpadFactory, LaunchPool (bonding curve, fees, graduation)\n  contracts\u002Ftoken     LaunchToken - fixed supply, minted once to the pool\n  contracts\u002Fgraduation UniswapV3Migrator - locked full-range LP + LP fee split\n  contracts\u002Flibraries BondingCurveMath - virtual-reserve constant product\nsrc\u002F\n  config\u002F             chain, contract addresses, quote assets, product constants\n  lib\u002Fabi             ABIs generated from the compiled artifacts\n  lib\u002Fchain           viem public client + wagmi config\n  lib\u002Flaunchpad       domain types, curve math mirror, formatting\n  lib\u002Findexer         server-side log\u002Fstate readers (launches, trades, holders, portfolio)\n  app\u002Fapi             route handlers - the only place the UI fetches data from\n  components\u002Fui       design system primitives\n  components\u002F…        launch, trade and layout components\n```\n\n## Brand\n\n**RobinPair** — *meme coins, real stocks, endless opportunities*. Source artwork\nlives in `public\u002Fassets\u002F`; the derived marks in `public\u002Fbrand\u002F` and\n`src\u002Fapp\u002Ficon.png` are generated from `logo.png` with the black background\nflood-filled to transparency (an edge fill, not a brightness threshold, so the\nwhite counter of the \"R\" survives).\n\nPalette is sampled from the logo rather than guessed: acid lime `#c0e010` with a\n`#d0f020` highlight, on a near-black ground carrying a faint green cast so the\nwhole surface belongs to the mark. Type is Saira for display — echoing the wide,\nsquared wordmark — Inter for dense UI text, and JetBrains Mono for every number.\n\n**Green means both brand and gains here, deliberately.** The brand sheet marks\ngains in its own lime, and so does Robinhood's own product, so unifying them is\nfaithful rather than sloppy. Red still owns the downside, which is what keeps the\nsignal readable.\n\n## Architecture\n\n**Configuration is centralised.** `LaunchpadConfig` holds fee splits, the treasury,\nthe migrator address, the pause flag, and one `QuoteAssetConfig` per supported stock\ntoken (curve seeds, curve\u002FLP supply split, graduation threshold, creation fee, Uniswap\nfee tier). The factory reads it at creation time and **freezes the terms into the pool**,\nso changing configuration never alters the terms of a live launch.\n\n**The stock token is the quote and reserve asset.** Reserves, fees, price, market cap\nand slippage are all denominated in it; the curve never touches ETH\u002FWETH. Quote assets\nwith any decimals are supported - the curve operates on raw units and never mixes the\ntwo scales.\n\n**Curve.** `k = virtualQuote₀ · virtualToken₀`, live reserves\n`quote = virtualQuote₀ + realQuote`, `token = virtualToken₀ − tokensSold`. Every rounding\ndecision favours the pool. Accounting invariant, checked in tests:\n\n```\nquote.balanceOf(pool) >= realQuoteReserve + accruedPlatformFees + accruedCreatorFees\n```\n\n**Graduation.** A buy that would cross the quote threshold is capped and the surplus\nrefunded. The pool then moves to `Graduating`; anyone may call `graduate()`, which takes\nthe graduation fee, burns unsold curve supply, and mints a full-range Uniswap V3 position\npriced at the curve's final price. The position NFT stays in the migrator forever - there\nis no code path that decreases liquidity - while swap fees remain collectable and are\nsplit between creator and treasury.\n\n**Data.** Everything shown in the UI is derived from chain state and `Trade` \u002F `Transfer`\nlogs: price, market cap, volume, holders, candles, portfolio P&L. There are no mocked\nfigures anywhere in the app.\n\n## Contracts\n\n```bash\ncd contracts\nnpm install\nnpx hardhat compile\nnpx hardhat test\n```\n\nDeployment (never commit keys; everything comes from the environment):\n\n```bash\ncp .env.example .env      # DEPLOYER_PRIVATE_KEY, TREASURY_ADDRESS, QUOTE_ASSETS, …\nnpx hardhat run scripts\u002Fdeploy.ts --network robinhood\n```\n\n`scripts\u002Fdeploy.ts` writes `contracts\u002Fdeployments\u002F\u003CchainId>.json` with the addresses to\npaste into the web `.env`. On a local node (`npx hardhat node`) it also deploys\n`MockStockToken` stand-ins so the whole flow is exercisable offline - those are\ndevelopment-only and are never deployed to a public network.\n\n`QUOTE_ASSETS` format:\n\n```\nNVDA:0x…:18:23:67:0.05:10000\n\u003Csymbol>:\u003Caddress>:\u003Cdecimals>:\u003CvirtualQuote>:\u003CgraduationThreshold>:\u003CcreationFee>:\u003CuniswapFeeTier>\n```\n\nThe curve can raise at most `virtualQuote × curveSupply \u002F (virtualTokenReserve − curveSupply)`\n- 2.93× the virtual quote reserve for the default shape - so thresholds are set just under\nthat ceiling.\n\n## Web app\n\n```bash\nnpm install\ncp .env.example .env.local   # addresses printed by the deploy script\nnpm run dev\n```\n\n`npm run build`, `npm run typecheck`, `npm run lint`.\n\n### Local end-to-end run\n\n```bash\ncd contracts && npx hardhat node          # terminal 1\nnpm run deploy:local                      # terminal 2 (writes deployments\u002F31337.json)\nnpm run seed:local                        # a few launches + real trades\nnpm run graduate:local                    # POOL_INDEX=0 fills a curve and migrates it\n```\n\nCopy the printed addresses into `.env.local` (`NEXT_PUBLIC_LAUNCHPAD_FACTORY`,\n`NEXT_PUBLIC_LAUNCHPAD_CONFIG`, `NEXT_PUBLIC_MULTICALL3_ADDRESS`,\n`NEXT_PUBLIC_QUOTE_ASSETS`, `NEXT_PUBLIC_DEPLOY_BLOCK`) and run `npm run dev`.\nThe local node also gets a `Multicall3` and a `MockPositionManager` so batched\nreads and graduation work offline; neither is ever deployed to a public network.\n\nUntil `NEXT_PUBLIC_LAUNCHPAD_FACTORY` \u002F `NEXT_PUBLIC_LAUNCHPAD_CONFIG` are set the app\nrenders a setup page listing exactly what is missing instead of an empty product.\n\n## Robinhood Chain networks\n\n| | Testnet | Mainnet |\n| --- | --- | --- |\n| Chain id | 46630 | 4663 |\n| Public RPC | `https:\u002F\u002Frpc.testnet.chain.robinhood.com\u002Frpc` | `https:\u002F\u002Frpc.mainnet.chain.robinhood.com` |\n| Explorer | explorer.testnet.chain.robinhood.com | robinhoodchain.blockscout.com |\n| Multicall3 | `0xcA11…76CA11` (verified live) | `0xcA11…76CA11` |\n| Uniswap V3 | not deployed | NonfungiblePositionManager `0x73991a25C818Bf1f1128dEAaB1492D45638DE0D3` |\n| Canonical stock tokens | none - testnet uses labelled test tokens | 194 assets via `api.robinhood.com\u002Frhj\u002Fassets` |\n\nBoth profiles are built into `src\u002Fconfig\u002Fchain.ts` and `contracts\u002Fconfig\u002Fnetworks.ts`,\nso only `NEXT_PUBLIC_CHAIN_ID` has to be set.\n\n**Stock tokens are never faked on mainnet.** Quote assets are resolved from Robinhood's\ncanonical asset registry, and any configured address that is not in it renders with a\n\"Test token\" badge plus a chain-wide banner. The Robinhood testnet has no canonical stock\ntokens (anyone can deploy an ERC-20 called `NVDA` there), so a testnet deployment mints\nits own openly-mintable test tokens instead of pointing at an impostor contract.\nFor the same reason Uniswap V3 is absent on testnet, so graduation there uses a clearly\nlabelled stub position manager; mainnet uses the real Uniswap V3 deployment.\n\n### Deploy to Robinhood Chain testnet\n\n```bash\ncd contracts\ncp .env.example .env\nnpm run new-deployer      # writes a key to .env (never printed), prints its address\n# fund that address at https:\u002F\u002Ffaucet.testnet.chain.robinhood.com\nnpm run estimate:testnet  # what the deployment will cost at the current gas price\nnpm run preflight:testnet # RPC, chain id, balance, Multicall3, Uniswap, quote assets\nnpm run deploy:testnet    # prints a ready-to-paste .env.local block\nnpm run seed:testnet      # optional: a few launches with real trades\n```\n\nPaste the printed block into the web app's `.env.local` and run `npm run dev`.\n\n## Required configuration before mainnet use\n\n| Value | Where | Why |\n| --- | --- | --- |\n| `DEPLOYER_PRIVATE_KEY` | `contracts\u002F.env` | funded key for the target network (`npm run new-deployer` creates one) |\n| `TREASURY_ADDRESS` | `contracts\u002F.env` | receives platform and graduation fees |\n| Curve parameters per asset | `QUOTE_ASSETS` or `config\u002Flaunch-params.ts` | virtual reserve and graduation threshold should track each share price |\n| `NEXT_PUBLIC_RPC_URL` | `.env.local` | the public RPCs are rate-limited; use a provider key in production |\n","这是一个基于 Robinhood Chain 的 meme 币与真实股票配对交易的启动平台（Launchpad），支持用户公平发布并交易以 token 化股票（如 NVDA、AAPL、META）为计价单位的 meme 币（如 TOKEN\u002FNVDA）。核心功能包括：基于常数积模型的链上做市曲线、零预售\u002F零内幕分配的公平启动机制、自动晋级至锁定版 Uniswap V3 流动性池。技术栈采用 Solidity 智能合约（Hardhat）、TypeScript 前端（Viem\u002FWagmi）及自建索引服务。适用于希望将 meme 币与美股标的深度绑定、强调透明流动性与渐进式市场演化的加密金融实验场景。",2,"2026-09-07 02:30:03","CREATED_QUERY"]