> ## 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.

# One→many SOL distribute (not yet implemented)

> Replaces `POST /api/sol/distribute` from `public.raze.sh`.
**Stub — returns 501-style error in the response body.**




## OpenAPI

````yaml openapi-spec/trading.yaml post /utils/sol/distribute
openapi: 3.0.3
info:
  title: Raze Trading API
  description: >
    Trading endpoints for Solana token swaps — quote, buy, sell, and raw
    instructions.


    Runs on port 8082.


    **Auth methods**: `Authorization: Bearer sk_...` header, `X-API-Key: sk_...`
    header, or `?apiKey=sk_...` query param.
  version: 2.0.0
servers:
  - url: https://router.raze.bot
    description: >-
      Raze global trading router — GeoDNS routes to the nearest region
      automatically
security: []
paths:
  /utils/sol/distribute:
    post:
      summary: One→many SOL distribute (not yet implemented)
      description: |
        Replaces `POST /api/sol/distribute` from `public.raze.sh`.
        **Stub — returns 501-style error in the response body.**
      operationId: utilsSolDistribute
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DistributeRequest'
      responses:
        '200':
          description: 'Response envelope (currently always `success: false`)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UtilsResponse'
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    DistributeRequest:
      type: object
      description: One→many SOL distribute. **Not yet implemented (501).**
      properties:
        sender:
          type: string
        recipients:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
              amount:
                type: number
            required:
              - address
              - amount
        feeTipLamports:
          type: integer
        encoding:
          type: string
          enum:
            - base64
            - base58
        simulate:
          type: boolean
      required:
        - sender
        - recipients
    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: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer

````