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

# Get or create a profile proof code

> Keyed shared referral-code operation used in X profile proof. The code is not wallet authentication; creation does not connect X or change a profile. Those actions require account consent. An independent shared-service limit of 60 requests/minute/IP also applies.



## OpenAPI

````yaml /api-reference/vibemarket_openapi.json post /support/identity/referrals
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. Every consumer API request requires a
    registered API-KEY, including public-data reads. Keys are shared across
    Vibechain products and never replace wallet/session authorization. Normal
    per-replica minute budgets are 100 reads, 25 writes and 10 stream
    connections, multiplied by the approved key multiplier. 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:
  - ApiKey: []
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
  - name: API keys
  - name: Shared services
paths:
  /support/identity/referrals:
    post:
      tags:
        - Shared services
      summary: Get or create a profile proof code
      description: >-
        Keyed shared referral-code operation used in X profile proof. The code
        is not wallet authentication; creation does not connect X or change a
        profile. Those actions require account consent. An independent
        shared-service limit of 60 requests/minute/IP also applies.
      operationId: vm2063
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
              required:
                - address
      responses:
        '200':
          description: Existing proof code.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  referral:
                    type: object
                    properties:
                      chainId:
                        type: integer
                      address:
                        type: string
                      code:
                        type: string
                    required:
                      - chainId
                      - address
                      - code
                required:
                  - ok
                  - referral
        '201':
          description: New proof code created; same response schema as HTTP 200.
        '401':
          $ref: '#/components/responses/ApiKeyUnauthorized'
        '429':
          $ref: '#/components/responses/ApiKeyRateLimited'
        '503':
          $ref: '#/components/responses/ApiKeyUnavailable'
      security:
        - ApiKey: []
components:
  responses:
    ApiKeyUnauthorized:
      description: >-
        Missing, malformed or invalid API key; private routes can also reject
        session credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ApiKeyRateLimited:
      description: >-
        API-key budget, failed key attempts or independent service admission
        exhausted. Honor Retry-After.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
    ApiKeyUnavailable:
      description: Key lookup or application dependency unavailable; fails closed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: API-KEY
      description: >-
        Registered Vibechain application key. Required in addition to
        wallet/session credentials. Obtain your own key via POST
        https://build.vibechain.com/apikey/create; see Authentication and
        consent. Missing/invalid keys: 401; exhausted quota: 429; lookup outage:
        503.

````