> ## 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 the attested runtime

> Read this before any other resource. New clients should fail closed
unless both `ready` and `writesReady` are true and `chainId` is 4663.
The response pins the accepted source, contract graph, runtime code
hashes, economic constants, and production bootstrap market.




## OpenAPI

````yaml /api-reference/retardmarket_openapi.yml get /runtime
openapi: 3.0.3
info:
  title: retard.market API
  version: 12.27.0
  description: |
    Attested Robinhood Chain reads for the experimental memecoin launch,
    trading, and staking protocol behind `/retard`. Each market is built around
    a fixed-supply creator memecoin paired with native ETH in a Uniswap v4 pool.
    The API exposes runtime identity, markets, quotes, activity, wallet holdings
    and positions, and funded creator-tip proofs.

    This protocol is experimental. Contracts, economics, API responses, and
    availability may change, and funds may be lost. Verify the runtime contract
    graph and simulate every wallet transaction immediately before signing. Use
    is subject to the VibeChain Terms of Service at
    https://vibechain.com/terms.

    Every endpoint requires a caller-specific VibeChain API key in the
    `API-KEY` header. Create one at
    https://docs.vibechain.com/api-reference/retardmarket-intro.
servers:
  - url: https://build.vibechain.com/api/retard/v1227
security:
  - ApiKeyAuth: []
tags:
  - name: Runtime
    description: Attested deployment identity and readiness
  - name: Markets
    description: Creator markets, quotes, schedules, and bounded activity
  - name: Wallets
    description: Wallet positions, holdings, and activity
  - name: Tips
    description: Safe-funded creator-tip root proofs
  - name: Airdrop
    description: Status of the deliberately parked airdrop feature
paths:
  /runtime:
    get:
      tags:
        - Runtime
      summary: Read the attested runtime
      description: |
        Read this before any other resource. New clients should fail closed
        unless both `ready` and `writesReady` are true and `chainId` is 4663.
        The response pins the accepted source, contract graph, runtime code
        hashes, economic constants, and production bootstrap market.
      operationId: getRetardRuntime
      responses:
        '200':
          description: Current checked-in and attested runtime
          headers:
            Cache-Control:
              schema:
                type: string
              description: Public runtime cache policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Runtime'
        '429':
          $ref: '#/components/responses/ApiKeyOrRateLimit'
components:
  schemas:
    Runtime:
      type: object
      required:
        - schema
        - release
        - network
        - chainId
        - rulesSha256
        - sourceCommit
        - sourceTree
        - deploymentBlockHash
        - graphReceiptSha256
        - stateViewRuntimeCodeHash
        - runtimeCodeHashes
        - launchedMarket
        - releaseStatus
        - releaseGateStatus
        - dexVerification
        - writeAdapterStatus
        - deploymentBlock
        - addresses
        - economics
        - attestationStatus
        - ready
        - writesReady
      properties:
        schema:
          type: string
          enum:
            - retard-v1227-robinhood-ui-v6
        release:
          type: string
          enum:
            - '12.27'
        network:
          type: string
          enum:
            - robinhood
        chainId:
          type: integer
          enum:
            - 4663
        rulesSha256:
          $ref: '#/components/schemas/Sha256'
        sourceCommit:
          $ref: '#/components/schemas/GitObject'
        sourceTree:
          $ref: '#/components/schemas/GitObject'
        deploymentBlockHash:
          $ref: '#/components/schemas/Hash'
        graphReceiptSha256:
          $ref: '#/components/schemas/Sha256'
        stateViewRuntimeCodeHash:
          $ref: '#/components/schemas/Hash'
        runtimeCodeHashes:
          $ref: '#/components/schemas/RuntimeCodeHashes'
        launchedMarket:
          $ref: '#/components/schemas/LaunchedMarket'
        releaseStatus:
          type: string
          enum:
            - configured
        releaseGateStatus:
          type: string
          enum:
            - passed
        dexVerification:
          type: string
          enum:
            - verified
        writeAdapterStatus:
          type: string
          enum:
            - configured
        deploymentBlock:
          type: integer
          minimum: 0
        addresses:
          $ref: '#/components/schemas/RuntimeAddresses'
        economics:
          $ref: '#/components/schemas/Economics'
        attestationStatus:
          type: string
          enum:
            - verified
        ready:
          type: boolean
        writesReady:
          type: boolean
    Sha256:
      type: string
      pattern: ^[0-9a-f]{64}$
    GitObject:
      type: string
      pattern: ^[0-9a-f]{40}$
    Hash:
      type: string
      pattern: ^0x[0-9a-fA-F]{64}$
    RuntimeCodeHashes:
      type: object
      required:
        - protocol
        - tipVault
        - refreshVault
        - hookDeployer
        - inventoryManager
        - poolHook
      properties:
        protocol:
          $ref: '#/components/schemas/Hash'
        tipVault:
          $ref: '#/components/schemas/Hash'
        refreshVault:
          $ref: '#/components/schemas/Hash'
        hookDeployer:
          $ref: '#/components/schemas/Hash'
        inventoryManager:
          $ref: '#/components/schemas/Hash'
        poolHook:
          $ref: '#/components/schemas/Hash'
    LaunchedMarket:
      type: object
      required:
        - marketId
        - pinnedBlock
        - pinnedBlockHash
        - creatorToken
        - runtimeCodeHash
        - fixedSupply
        - name
        - symbol
        - mediaUri
        - subject
        - tradingOpen
        - custody
        - poolId
        - poolKey
      properties:
        marketId:
          type: integer
          minimum: 0
        pinnedBlock:
          type: integer
          minimum: 0
        pinnedBlockHash:
          $ref: '#/components/schemas/Hash'
        creatorToken:
          $ref: '#/components/schemas/Address'
        runtimeCodeHash:
          $ref: '#/components/schemas/Hash'
        fixedSupply:
          $ref: '#/components/schemas/IntegerString'
        name:
          type: string
        symbol:
          type: string
        mediaUri:
          type: string
          format: uri
        subject:
          $ref: '#/components/schemas/Hash'
        tradingOpen:
          type: boolean
          enum:
            - true
        custody:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/IntegerString'
        poolId:
          $ref: '#/components/schemas/Hash'
        poolKey:
          $ref: '#/components/schemas/PoolKey'
    RuntimeAddresses:
      type: object
      required:
        - poolManager
        - positionManager
        - universalRouter
        - permit2
        - v4Quoter
        - stateView
        - bankSafe
        - protocol
        - tipVault
        - refreshVault
        - hookDeployer
        - inventoryManager
        - poolHook
      properties:
        poolManager:
          $ref: '#/components/schemas/Address'
        positionManager:
          $ref: '#/components/schemas/Address'
        universalRouter:
          $ref: '#/components/schemas/Address'
        permit2:
          $ref: '#/components/schemas/Address'
        v4Quoter:
          $ref: '#/components/schemas/Address'
        stateView:
          $ref: '#/components/schemas/Address'
        bankSafe:
          $ref: '#/components/schemas/Address'
        protocol:
          $ref: '#/components/schemas/Address'
        tipVault:
          $ref: '#/components/schemas/Address'
        refreshVault:
          $ref: '#/components/schemas/Address'
        hookDeployer:
          $ref: '#/components/schemas/Address'
        inventoryManager:
          $ref: '#/components/schemas/Address'
        poolHook:
          $ref: '#/components/schemas/Address'
    Economics:
      type: object
      required:
        - tradeFeeBps
        - creatorTradeFeeShareBps
        - protocolTradeFeeShareBps
        - stakerTradeFeeShareBps
        - creatorTipShareBps
        - stakerTipShareBps
        - stakerTipRatePerDayWad
        - positionTermTipCapFormula
        - supportMultiplier
        - supportMinimumTermDays
        - referenceReserveRetard
        - maximumDisplayMultiplier
        - minimumTermDays
        - maximumTermDays
        - minimumTermBonusPpm
        - maximumTermBonusPpm
        - nativeRefreshLifetimeCapWei
        - nativeRefreshInputWei
        - stakeNativeValueSource
        - firstSupportStakeFeeMaximumWei
      properties:
        tradeFeeBps:
          type: integer
          example: 200
        creatorTradeFeeShareBps:
          type: integer
          example: 0
        protocolTradeFeeShareBps:
          type: integer
          example: 10000
        stakerTradeFeeShareBps:
          type: integer
          example: 0
        creatorTipShareBps:
          type: integer
          example: 2500
        stakerTipShareBps:
          type: integer
          example: 7500
        stakerTipRatePerDayWad:
          $ref: '#/components/schemas/IntegerString'
        positionTermTipCapFormula:
          type: string
        supportMultiplier:
          type: integer
          example: 1
        supportMinimumTermDays:
          type: integer
          example: 30
        referenceReserveRetard:
          $ref: '#/components/schemas/IntegerString'
        maximumDisplayMultiplier:
          type: integer
          example: 10
        minimumTermDays:
          type: integer
          example: 1
        maximumTermDays:
          type: integer
          example: 365
        minimumTermBonusPpm:
          type: integer
          example: 1000000
        maximumTermBonusPpm:
          type: integer
          example: 10000000
        nativeRefreshLifetimeCapWei:
          $ref: '#/components/schemas/IntegerString'
        nativeRefreshInputWei:
          $ref: '#/components/schemas/IntegerString'
        stakeNativeValueSource:
          type: string
        firstSupportStakeFeeMaximumWei:
          $ref: '#/components/schemas/IntegerString'
    ApiKeyError:
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          required:
            - docs
          properties:
            error:
              type: string
              enum:
                - API_KEY_REQUIRED_OR_RATE_LIMITED
            docs:
              type: string
              format: uri
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
      example: '0x41B13C429675015d32377305D03222CbddB20cA0'
    IntegerString:
      type: string
      pattern: ^[0-9]+$
      description: Unsigned integer encoded as a decimal string
    PoolKey:
      type: object
      required:
        - currency0
        - currency1
        - fee
        - tickSpacing
        - hooks
      properties:
        currency0:
          $ref: '#/components/schemas/Address'
        currency1:
          $ref: '#/components/schemas/Address'
        fee:
          type: integer
          example: 20000
        tickSpacing:
          type: integer
          example: 200
        hooks:
          $ref: '#/components/schemas/Address'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
  responses:
    ApiKeyOrRateLimit:
      description: API key missing/invalid or the caller allowance is exhausted
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds until the current rate window resets
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiKeyError'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: API-KEY
      description: Caller-specific VibeChain API key created through `/apikey/create`.

````