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

# Verify Wallet Signature

> Verify the signed challenge and issue a token for an existing account.



## OpenAPI

````yaml POST /customer/v2/auth/wallet/verify
openapi: 3.0.3
info:
  title: OrbitFlare Customer API
  description: >-
    API documentation for the OrbitFlare Customer API. This API allows
    authenticated customers to manage their licenses, whitelist IPs, reset keys,
    and retrieve associated data. Supports v1 (API key only) and v2 (Bearer
    token or API key) with extended features including device/wallet auth, API
    keys management, profile, Solana USDC balance top-up, and RPC plan
    purchasing.
  version: 2.1.0
servers:
  - url: https://orbitflare.com/api
    description: OrbitFlare Production server
security:
  - api_key: []
tags:
  - name: Auth
    description: Authentication (device flow, wallet signature, session)
  - name: Licenses
    description: License management
  - name: API Keys
    description: API key management
  - name: Profile
    description: User profile and balance
  - name: Invoices
    description: Invoice listing, detail, and balance payment
  - name: Top-Up
    description: Balance top-up via Solana USDC
  - name: RPC Plans
    description: Solana RPC plan catalog
  - name: Orders
    description: Order management (validate, purchase, list)
paths:
  /customer/v2/auth/wallet/verify:
    post:
      tags:
        - Auth
      summary: Verify Wallet Signature
      description: Verify the signed challenge and issue a token for an existing account.
      operationId: walletVerify
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_address
                - signature
              properties:
                wallet_address:
                  type: string
                  minLength: 32
                  maxLength: 44
                signature:
                  type: string
                  description: Base64 or base58-encoded Ed25519 signature
      responses:
        '200':
          description: Signature verified. Token issued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
        '401':
          description: Invalid signature or expired challenge.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
        '404':
          description: No account found for this wallet. Use /auth/wallet/register.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
      security: []
components:
  schemas:
    TokenResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          type: object
          properties:
            token_type:
              type: string
              example: Bearer
            access_token:
              type: string
            expires_in:
              type: integer
            user:
              $ref: '#/components/schemas/UserInfo'
    V2ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
        errors:
          type: object
        error:
          type: string
          description: Error code (e.g. authorization_pending, slow_down)
    UserInfo:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        email:
          type: string
          format: email
        wallet_address:
          type: string
          nullable: true
        payment_wallet_address:
          type: string
          nullable: true
        balance:
          type: number
          format: float
        created_at:
          type: string
          format: date-time
  securitySchemes:
    api_key:
      type: apiKey
      name: X-ORBIT-KEY
      in: header
      description: API key for v1 and v2 (when not using Bearer token)

````