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

# Prepare launch artwork and parameters

> Stores artwork and returns createParams; it does not launch a contract or spend tokens. Select the current launchTarget. Tier odds must sum to 10000, multipliers strictly increase, computed round-trip return after fees <=95%. Total multipart request <=12 MiB, fields <=512 KiB, at most nine files; each PNG/JPEG/WebP/GIF file <=4 MiB. tierArt files use original filenames tier-0, tier-1, etc. If cardsByRarity is supplied, use five nonempty rarities. Retired runtime returns 409.



## OpenAPI

````yaml /api-reference/vibemarket_openapi.json post /runtime/{version}/prepare
openapi: 3.0.3
info:
  title: vibe.market API
  version: '2026-09-10'
  description: >-
    Consumer HTTP API for the current vibe.market at
    https://vibechain.com/market. This is an experimental protocol; review
    https://vibechain.com/terms. Public reads do not require Classic API keys.
    Discover runtime graphs rather than hardcoding a revision. The
    /api/vibemarket2 namespace is intentional. Operational provider webhooks and
    operator-only controls are excluded.
  termsOfService: https://vibechain.com/terms
servers:
  - url: https://build.vibechain.com/api/vibemarket2
    description: Current-market backend
security: []
tags:
  - name: Discovery
  - name: Indexed market
  - name: Board
  - name: Live updates
  - name: Creators
  - name: Artwork
  - name: Accounts
  - name: Community
  - name: Private messages
  - name: Scoped sessions
paths:
  /runtime/{version}/prepare:
    post:
      tags:
        - Creators
      summary: Prepare launch artwork and parameters
      description: >-
        Stores artwork and returns createParams; it does not launch a contract
        or spend tokens. Select the current launchTarget. Tier odds must sum to
        10000, multipliers strictly increase, computed round-trip return after
        fees <=95%. Total multipart request <=12 MiB, fields <=512 KiB, at most
        nine files; each PNG/JPEG/WebP/GIF file <=4 MiB. tierArt files use
        original filenames tier-0, tier-1, etc. If cardsByRarity is supplied,
        use five nonempty rarities. Retired runtime returns 409.
      operationId: vm2024
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
          description: >-
            Runtime id from /runtime/versions or catalog/sources; never infer
            the newest revision from its name.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 80
                symbol:
                  type: string
                  pattern: ^[A-Z0-9]{2,12}$
                description:
                  type: string
                  maxLength: 2000
                ethPerPack:
                  type: string
                  description: Positive ETH decimal string, at most 100 ETH.
                tiers:
                  type: string
                  description: >-
                    JSON-encoded 2–8 objects: {label (1–24 chars), oddsBps
                    (1–10000), multBps (0–2000000)}.
                cardsByRarity:
                  type: string
                  description: Optional JSON-encoded CardsByRarity.
                packArt:
                  type: string
                  format: binary
                tierArt:
                  type: array
                  items:
                    type: string
                    format: binary
              required:
                - name
                - symbol
                - description
                - ethPerPack
                - tiers
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreparedArtwork'
        '400':
          description: Invalid input, signature, cursor or action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflicting state or retired runtime.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate/admission limit. Honor Retry-After if present.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Dependency, projection or capacity unavailable. Retry with backoff.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  schemas:
    PreparedArtwork:
      type: object
      properties:
        baseURI:
          type: string
        packArt:
          type: string
        tierArt:
          type: array
          items:
            type: string
        slug:
          type: string
        createParams:
          type: object
          properties:
            name:
              type: string
            symbol:
              type: string
            baseURI:
              type: string
            oddsBps:
              type: array
              items:
                type: integer
                format: int64
            multBps:
              type: array
              items:
                type: integer
                format: int64
            ethPerPackWei:
              type: string
              pattern: ^[0-9]+$
              description: >-
                Exact nonnegative integer; parse as BigInt, not a floating-point
                number.
          required:
            - name
            - symbol
            - baseURI
            - oddsBps
            - multBps
            - ethPerPackWei
      required:
        - baseURI
        - packArt
        - tierArt
        - slug
        - createParams
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error

````