> ## 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 indexed catalog page

> Fixed 24-row catalog page, ordered by drop ID. Start after=0 and reuse next until null. total is a decimal string. The returned graph must match the runtime identity used by your transaction client. Unknown runtime or invalid cursor returns 400; stale/incomplete projection returns 503.



## OpenAPI

````yaml /api-reference/vibemarket_openapi.json get /runtime/{version}/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:
  /runtime/{version}/catalog:
    get:
      tags:
        - Indexed market
      summary: Read indexed catalog page
      description: >-
        Fixed 24-row catalog page, ordered by drop ID. Start after=0 and reuse
        next until null. total is a decimal string. The returned graph must
        match the runtime identity used by your transaction client. Unknown
        runtime or invalid cursor returns 400; stale/incomplete projection
        returns 503.
      operationId: vm2005
      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.
        - 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/RuntimeCatalog'
        '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: []
components:
  schemas:
    RuntimeCatalog:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MarketRow'
        head:
          $ref: '#/components/schemas/Head'
        total:
          type: string
          pattern: ^[0-9]+$
          description: >-
            Exact nonnegative integer; parse as BigInt, not a floating-point
            number.
        next:
          type: string
          pattern: ^[0-9]+$
          description: >-
            Exact nonnegative integer; parse as BigInt, not a floating-point
            number.
          nullable: true
        graph:
          $ref: '#/components/schemas/Graph'
      required:
        - items
        - head
        - total
        - next
        - graph
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    MarketRow:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9]+$
          description: >-
            Exact nonnegative integer; parse as BigInt, not a floating-point
            number.
        name:
          type: string
        symbol:
          type: string
        creator:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        token:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        createdTx:
          type: string
        canonicalSlug:
          type: string
      required:
        - id
      description: >-
        Raw indexed market payload. Monetary quantities use decimal strings;
        additional graph-specific fields may evolve.
    Head:
      type: object
      properties:
        scope:
          type: string
        nextBlock:
          type: integer
        blockHash:
          type: string
          nullable: true
        revision:
          type: integer
        updatedAt:
          type: integer
        failure:
          type: string
          nullable: true
        observedHead:
          type: integer
        observedAt:
          type: integer
        webhookAudit:
          type: object
          nullable: true
      required:
        - scope
        - nextBlock
        - blockHash
        - revision
        - updatedAt
        - failure
    Graph:
      type: object
      properties:
        id:
          type: string
        chainId:
          type: integer
          format: int64
        market:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        factory:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        schema:
          type: string
      required:
        - id
        - chainId
        - market
        - factory
        - schema

````