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

# Bakiye Yükleme İşlemi Hazırla

> Builds an unsigned Solana USDC transfer transaction on the server. The customer signs the returned base64-encoded transaction locally and submits it to the /topup/confirm endpoint.



## OpenAPI

````yaml POST /customer/v2/topup/prepare
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/topup/prepare:
    post:
      tags:
        - Top-Up
      summary: Prepare Top-Up Transaction
      description: >-
        Builds an unsigned Solana USDC transfer transaction on the server. The
        customer signs the returned base64-encoded transaction locally and
        submits it to the /topup/confirm endpoint.
      operationId: topupPrepare
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopUpPrepareRequest'
      responses:
        '200':
          description: Unsigned transaction built successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                  data:
                    $ref: '#/components/schemas/TopUpPrepareResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
        '422':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ErrorResponse'
        '502':
          description: Failed to communicate with Solana RPC.
      security:
        - bearer_token: []
        - api_key: []
components:
  schemas:
    TopUpPrepareRequest:
      type: object
      required:
        - amount
        - wallet_address
      properties:
        amount:
          type: number
          format: float
          minimum: 5
          maximum: 10000
          description: USDC amount to top up.
        wallet_address:
          type: string
          minLength: 32
          maxLength: 44
          description: Solana wallet public key (base58).
    TopUpPrepareResponse:
      type: object
      properties:
        transaction:
          type: string
          description: >-
            Base64-encoded unsigned Solana transaction. Sign this locally and
            submit to /topup/confirm.
        memo:
          type: string
          description: >-
            Memo embedded in the transaction (format: TopUp:
            {userId}:{timestamp}).
        amount_usdc:
          type: number
          format: float
        amount_micro_usdc:
          type: integer
          description: Amount in micro-USDC (6 decimals).
        destination_wallet:
          type: string
          description: OrbitFlare's USDC destination wallet.
        blockhash:
          type: string
          description: Solana recent blockhash used in the transaction.
        last_valid_block_height:
          type: integer
          description: >-
            Last block height for which the blockhash is valid. Use this to
            detect expiry.
    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)
  securitySchemes:
    api_key:
      type: apiKey
      name: X-ORBIT-KEY
      in: header
      description: API key for v1 and v2 (when not using Bearer token)
    bearer_token:
      type: http
      scheme: bearer
      bearerFormat: Sanctum
      description: Bearer token from device or wallet auth

````