Getting started

Quickstart

Connect a wallet, pick where fees go, and launch.

  1. 1

    Connect a Solana wallet

    Open the Launch page and connect Phantom, Solflare or Backpack. The wallet only signs; the transaction is built and broadcast by socials.capital.

  2. 2

    Choose where fees go

    Pick a social and enter the handle. You can add more routes later as long as the shares add up to 100%.

  3. 3

    Describe the token

    Name, ticker, image and description are pinned as metadata. Links are optional and default to the token's page here.

  4. 4

    Set the note and dev buy

    The payment note is attached to every payout. A dev buy purchases your own token in the same transaction, before anyone else.

  5. 5

    Sign and confirm

    Your wallet signs a versioned transaction. We broadcast it, verify the bonding curve on chain and mark the launch confirmed.

The same flow from code

Everything the Launch page does is available through the API. The example below uploads metadata, builds the launch and submits the signed transaction.

launch.ts
import { api } from "@/lib/api"const { metadataUri, imageUrl } = await api.uploadMetadata({  launchpad: "pump",  file,  name: "Ledger Cat",  symbol: "LCAT",  description: "A cat that keeps the books.",})const unsigned = await api.createLaunch({  launchpad: "pump",  name: "Ledger Cat",  symbol: "LCAT",  metadataUri,  imageUrl,  links: {},  creatorWallet: wallet.publicKey.toBase58(),  initialBuyLamports: "0",  paymentNote: "Creator fees via socials.capital",  routes: [{ platform: "x", handle: "elonmusk", shareBps: 10_000 }],})const tx = VersionedTransaction.deserialize(  Buffer.from(unsigned.transaction, "base64"))const signed = await wallet.signTransaction(tx)const launch = await api.submitLaunch(  unsigned.launch.id,  Buffer.from(signed.serialize()).toString("base64"))console.log(launch.status) // "confirmed"

Routes are expressed in basis points. 10,000 bps is 100% of the creator share, which is itself 80% of each claim by default.