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

# Token launch (pumpfun / bonk / meteora_dbc / meteora_cpamm)

> Replaces `POST /api/sol/create` from `public.raze.sh`. Body discriminates
on `platform`. Supports `?dryRun=true` → returns a cost estimate without
paying Pinata or fetching the vanity mint.

**Stub — every platform currently returns 501-style error.**




## OpenAPI

````yaml openapi-spec/history.yaml post /utils/sol/launch
openapi: 3.0.3
info:
  title: Raze Database API
  description: >
    Paid subscription API for Solana transaction data and history.


    Also hosts write utilities (`/utils/sol/*`): token launch, transfer, burn,

    distribute, consolidate, and fee claim/config — previously on

    `router.raze.bot`.


    ## Batch Requests

    All endpoints with path parameters (mint, signer, address, tokenMint,
    ownerAddress) support batch queries

    via comma-separated values. For example:
    `/api/sol/trades/mint/mint1,mint2,mint3?limit=50`


    - Maximum 10 values per batch request

    - Each value must be a valid address (>= 32 characters)

    - Single values behave identically to non-batch requests

    - Batch response format: `{ "success": true, "results": { "value1": {...},
    "value2": {...} }, "count": N, "timestamp": "..." }`

    - Each key in `results` contains the full single-entity response

    - Queries run in parallel for maximum performance
  version: 1.0.0
servers:
  - url: https://api.raze.bot
    description: >-
      Raze global History API — GeoDNS routes to the nearest region
      automatically
security:
  - ApiKeyAuth: []
paths:
  /utils/sol/launch:
    post:
      summary: Token launch (pumpfun / bonk / meteora_dbc / meteora_cpamm)
      description: >
        Replaces `POST /api/sol/create` from `public.raze.sh`. Body
        discriminates

        on `platform`. Supports `?dryRun=true` → returns a cost estimate without

        paying Pinata or fetching the vanity mint.


        **Stub — every platform currently returns 501-style error.**
      operationId: utilsSolLaunch
      parameters:
        - name: dryRun
          in: query
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LaunchRequest'
      responses:
        '200':
          description: 'Response envelope (currently always `success: false`)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UtilsResponse'
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    LaunchRequest:
      type: object
      description: >-
        Token launch. `pumpfun` is implemented; bonk / meteora_dbc /
        meteora_cpamm return 501.
      properties:
        platform:
          type: string
          enum:
            - pumpfun
            - bonk
            - meteora_dbc
            - meteora_cpamm
        wallets:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
              amount:
                type: number
            required:
              - address
              - amount
        token:
          type: object
          properties:
            name:
              type: string
            symbol:
              type: string
            description:
              type: string
            imageUrl:
              type: string
            twitter:
              type: string
            telegram:
              type: string
            website:
              type: string
          required:
            - name
            - symbol
            - imageUrl
        pumpType:
          type: boolean
        cashBack:
          type: boolean
        bonkType:
          type: string
        configAddress:
          type: string
        initialLiquiditySOL:
          type: number
        initialTokenPercent:
          type: number
        tipWallet:
          type: string
          description: Custom tip recipient wallet (defaults to the Raze relay tip wallet).
        tipLamports:
          type: integer
          description: >-
            Flat tip in lamports attached once to the create tx (payer pays).
            feeTipLamports is the legacy alias.
        feeTipLamports:
          type: integer
          description: Legacy alias for tipLamports.
        feeWallet:
          type: string
          description: Custom fee recipient wallet. Only charged together with feeBps.
        feeBps:
          type: integer
          description: >-
            Percentage fee in basis points of each buyer's raw quote amount,
            paid by that buyer alongside its buy.
        jitoTipAmountSOL:
          type: number
        computeUnitPrice:
          type: integer
        computeUnitLimit:
          type: integer
        encoding:
          type: string
          enum:
            - base64
            - base58
        simulate:
          type: boolean
      required:
        - platform
        - wallets
        - token
    UtilsResponse:
      type: object
      description: |
        Shared envelope for every `/utils/sol/*` write endpoint. Optional
        fields are omitted from the JSON when unset.
      properties:
        success:
          type: boolean
        transactions:
          type: array
          description: Serialized partially-signed transactions in submission order.
          items:
            type: string
        batches:
          type: array
          description: |
            For batch endpoints (`transfer`, `burn`): packing metadata.
            `batches[i]` describes `transactions[i]`.
          items:
            $ref: '#/components/schemas/BatchInfo'
        mint:
          type: string
          description: Set by `/utils/sol/launch` — the mint of the launched token.
        platform:
          type: string
          description: Set by `/utils/sol/launch` and `/utils/sol/fees/claim`.
        status:
          type: object
          description: Set by `/utils/sol/fees/config` for `action=status` reads.
        simulations:
          type: array
          description: |
            Set when the request had `simulate: true`. One entry per built tx,
            in the same order as `transactions`. Each entry is the RPC
            `simulateTransaction` `value` object (logs / unitsConsumed / err).
          items:
            type: object
        error:
          type: string
      required:
        - success
    BatchInfo:
      type: object
      description: |
        Per-transaction packing metadata returned by batch endpoints. Lets the
        caller correlate input items → serialized txs for partial-retry logic
        when one tx in a batch lands and another doesn't.
      properties:
        signers:
          type: array
          items:
            type: string
          description: Required signers for this tx (fee payer first).
        itemIndices:
          type: array
          items:
            type: integer
          description: Indices into the request's `items[]` array packed into this tx.
        instructionCount:
          type: integer
          description: >-
            Non-fee instructions in this tx (excludes compute-budget + fee
            transfers).
      required:
        - signers
        - itemIndices
        - instructionCount
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey

````