{"id":50588513,"url":"https://github.com/heroims/launchpad","last_synced_at":"2026-06-05T08:30:38.474Z","repository":{"id":362266235,"uuid":"1258055660","full_name":"heroims/launchpad","owner":"heroims","description":"Launch tokens on pump.fun, Raydium LaunchLab, and Meteora DBC from a single interface — with AI-powered draft generation, deterministic validation, and client-side signing.","archived":false,"fork":false,"pushed_at":"2026-06-03T10:10:52.000Z","size":316,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T12:07:38.737Z","etag":null,"topics":["ai-agent","meteora-dbc","pump-fun","raydium-launchlab","solana","token-launch","web3"],"latest_commit_sha":null,"homepage":"https://launchpad-itvb.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heroims.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-03T08:34:47.000Z","updated_at":"2026-06-03T10:10:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/heroims/launchpad","commit_stats":null,"previous_names":["heroims/launchpad"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/heroims/launchpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroims%2Flaunchpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroims%2Flaunchpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroims%2Flaunchpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroims%2Flaunchpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heroims","download_url":"https://codeload.github.com/heroims/launchpad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroims%2Flaunchpad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33937661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","meteora-dbc","pump-fun","raydium-launchlab","solana","token-launch","web3"],"created_at":"2026-06-05T08:30:37.121Z","updated_at":"2026-06-05T08:30:38.466Z","avatar_url":"https://github.com/heroims.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Launchpad\n\n**API-first Solana token launch workstation.** Launch tokens on pump.fun, Raydium LaunchLab, and Meteora DBC from a single interface — with AI-powered draft generation, deterministic validation, and client-side signing.\n\n![License](https://img.shields.io/badge/license-MIT-green)\n![Solana](https://img.shields.io/badge/Solana-1.18-blue)\n![Next.js](https://img.shields.io/badge/Next.js-15-black)\n![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)\n\n---\n\n## What is Launchpad?\n\nLaunchpad is an open-source web workstation that lets you create and launch Solana tokens across multiple launch platforms — all without giving up custody of your keys. It combines an AI agent for draft generation, a deterministic validator, and a transaction builder into one cohesive workflow.\n\n## Who is this for?\n\n- **Solana token creators** who want to compare launch platforms (pump.fun, Raydium LaunchLab, Meteora DBC) before committing\n- **Developers** building AI-powered launch agents on Solana — the API surface is designed for integration\n- **Anyone** who wants to preview launch parameters, fees, and signable transactions before broadcasting to the network\n\n## Key differentiators\n\n- **API-first design** — integrate launch workflows into your own tools via REST endpoints\n- **AI draft generation** — describe your token in natural language, get a validated launch draft (OpenAI-compatible, Anthropic, or deterministic fallback)\n- **Multi-protocol** — pump.fun, Raydium LaunchLab, and Meteora DBC from a single codebase\n- **No key custody** — the backend never holds private keys; wallet signing is always client-side\n- **Deterministic idempotency** — identical drafts produce identical launch records, safe for retry\n- **Encrypted API key storage** — AES-256-GCM encryption for AI provider keys in localStorage\n\n## FAQ\n\n### Can I launch on pump.fun without an RPC URL?\nYes. pump.fun create-only uses `@pump-fun/pump-sdk` directly and does not require `SOLANA_RPC_URL`. Create-and-buy mode does require an RPC.\n\n### Does the backend hold my private keys?\nNo. All signing happens client-side in the browser wallet. The API never sees your keys. Mint keypairs are generated in-browser and stored in sessionStorage only.\n\n### Can I use this with an AI agent?\nYes. `POST /api/skill/launch/prepare` accepts natural language launch descriptions and returns validated, ready-to-sign transactions.\n\n### What launch platforms are supported?\n- **pump.fun** — bonding-curve based, create-only or create-and-buy\n- **Raydium LaunchLab** — standard AMM launch with configurable pools\n- **Meteora DBC** — dynamic bonding curve with optional first-buy and two-transaction group support\n\n### Is there a service fee?\nYes. A fixed service fee (default 0.05 SOL) is injected into every unsigned launch transaction. The fee recipient is configurable via `FEE_RECIPIENT_PUBLIC_KEY`.\n\n### What AI providers are supported?\nOpenAI-compatible endpoints (OpenAI, Together, Groq, etc.) and Anthropic. Deterministic fallback works without any API key.\n\n## What is implemented\n\n- Web workstation for launch inputs, AI provider settings, local encrypted API key storage, and API calls.\n- Serverless API routes for draft generation, deterministic validation, transaction building, launch result recording, record lookup, and skill prepare.\n- OpenAI-compatible and Anthropic provider configuration shape.\n- Deterministic fallback launch planner when no model key is provided.\n- Launch templates for pump.fun, Raydium LaunchLab, and Meteora DBC.\n- Fixed SOL service fee injection into unsigned Solana transactions.\n- In-memory launch records and idempotency handling for local MVP development.\n- Vitest coverage for validation, transaction construction, and skill prepare.\n\n## Important adapter boundary\n\nThe `PumpFunAdapter`, `RaydiumLaunchLabAdapter`, and `MeteoraDbcAdapter` isolate the protocol-specific build surface and return signable transaction payloads with service fee insertion.\n\n`PROTOCOL_SDK_MODE=live` is the default. In live mode:\n\n- pump.fun create-only uses `@pump-fun/pump-sdk` directly and does not require `SOLANA_RPC_URL`.\n- pump.fun create-and-buy uses the server-side Solana RPC for SDK state reads.\n- Raydium LaunchLab uses the server-side Solana RPC and defaults `configId` / `platformId` from `@raydium-io/raydium-sdk-v2`.\n- Meteora DBC uses the server-side Solana RPC. When `METEORA_DBC_CONFIG_ID` is empty, it builds with `createConfigAndPool` / `createConfigAndPoolWithFirstBuy` and generates a launch-specific config signer that the backend partially signs before returning the wallet transaction. When first buy is enabled, Meteora returns a two-transaction group: config creation first, then pool creation / first buy / service fee. When `METEORA_DBC_CONFIG_ID` is set, it uses the existing-config `createPool` / `createPoolWithFirstBuy` path.\n\nThe server-side Solana RPC defaults to `https://solana-rpc.publicnode.com`. Set `SOLANA_RPC_URL` only when you want to override it with a private RPC, devnet RPC, or localnet RPC. Set `RAYDIUM_LAUNCHPAD_CONFIG_ID` / `RAYDIUM_LAUNCHPAD_PLATFORM_ID` only when you need to override the SDK defaults. Set `METEORA_DBC_CONFIG_ID` only when you want every Meteora launch to use a pre-created DBC config instead of creating one per launch.\n\n`PROTOCOL_SDK_MODE=dry-run` is retained only for isolated adapter tests and should not be used to produce user-signable launch transactions.\n\n## Commands\n\n```bash\npnpm install\npnpm test\npnpm build\npnpm dev\n```\n\n## Environment\n\nCopy `.env.example` to `.env.local` for local development.\n\nThe fixed service fee defaults to `0.05 SOL` and the fee recipient defaults to `HpijwaAmevR4rFCP7kA1iTLB4gUKjhAJE6WkwdorMxzD`.\n\n## API\n\n- `POST /api/launch/draft` — AI or deterministic fallback → DraftRecommendation\n- `POST /api/launch/validate` — LaunchDraft → ValidationResult (fee estimate included)\n- `POST /api/launch/build-transaction` — LaunchDraft + idempotencyKey → BuildTransactionResult (one or more unsigned serialized transactions, required signers, summary)\n- `POST /api/launch/record-result` — record signed/sent/failed outcome\n- `GET  /api/launch/:id` — fetch launch record\n- `POST /api/skill/launch/prepare` — skill-shaped wrapper around validate + build\n\nSkill/API callers can prepare launch transactions, but user wallet signing remains outside the API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroims%2Flaunchpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheroims%2Flaunchpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroims%2Flaunchpad/lists"}