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

# Read website catalog pages

> Without market, returns enriched source versions. With market, returns a page of display packs for that source's exact market graph. Preserve loaded pages on failure; do not treat an unavailable projection as an empty catalog.



## OpenAPI

````yaml /api-reference/vibemarket_openapi.json get /catalog
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:
  /catalog:
    get:
      tags:
        - Discovery
      summary: Read website catalog pages
      description: >-
        Without market, returns enriched source versions. With market, returns a
        page of display packs for that source's exact market graph. Preserve
        loaded pages on failure; do not treat an unavailable projection as an
        empty catalog.
      operationId: vm2003
      parameters:
        - name: source
          in: query
          required: true
          schema:
            type: string
          description: Source id from /catalog/sources.
        - name: market
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/Address'
          description: Market contract within that source; omit to list versions.
        - name: after
          in: query
          required: false
          schema:
            type: string
            pattern: ^(0|[1-9][0-9]{0,76})$
            default: '0'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebsiteCatalog'
        '400':
          description: Invalid input, signature, cursor or action.
          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: []
      servers:
        - url: https://vibechain.com/api/vibemarket2
          description: Website catalog / artwork gateway
components:
  schemas:
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
    WebsiteCatalog:
      oneOf:
        - type: object
          properties:
            versions:
              type: array
              items:
                $ref: '#/components/schemas/SourceVersion'
            next:
              type: string
              nullable: true
          required:
            - versions
            - next
        - type: object
          properties:
            packs:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  canonicalSlug:
                    type: string
                  name:
                    type: string
                  symbol:
                    type: string
                  image:
                    type: string
                  source:
                    type: object
                    properties: {}
                required:
                  - id
            total:
              $ref: '#/components/schemas/Uint'
            next:
              type: string
              nullable: true
          required:
            - packs
            - total
            - next
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    SourceVersion:
      type: object
      properties:
        market:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        factory:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        schema:
          type: string
          description: >-
            Website schema identifier; may be an encoded hash rather than the
            backend's human-readable schema name.
        label:
          type: string
        runtimeId:
          type: string
        immutableManifest:
          type: object
          properties:
            hash:
              type: string
              pattern: ^0x[0-9a-fA-F]{64}$
            ethPerPackWei:
              $ref: '#/components/schemas/Uint'
          required:
            - hash
            - ethPerPackWei
        foilOddsBps:
          type: array
          minItems: 6
          maxItems: 6
          items:
            type: integer
            minimum: 0
            maximum: 10000
        collectLimit:
          type: integer
          format: int64
        collectWindowSeconds:
          type: integer
          format: int64
        firstEditionWindowSeconds:
          type: integer
          format: int64
        maxCreatorPrebuy:
          type: integer
          format: int64
        collectHaircutBps:
          type: integer
          format: int64
        launchTarget:
          type: boolean
        prizeFoil:
          type: boolean
      required:
        - market
        - factory
        - schema
        - label
        - runtimeId
    Uint:
      type: string
      pattern: ^[0-9]+$
      description: Exact nonnegative integer; parse as BigInt, not a floating-point number.

````