> ## Documentation Index
> Fetch the complete documentation index at: https://omniflow-vpn.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get v1accountwallet

> Balances per currency with the top-up policy and the ledger. Currencies are isolated: a balance in one never funds an order in another.



## OpenAPI

````yaml https://raw.githubusercontent.com/kewldan/omniflow/main/api/openapi.yaml get /v1/account/wallet
openapi: 3.0.3
info:
  title: Omniflow API
  version: 1.0.0
  description: >-
    Customer, commerce, payment, wallet, fulfillment, and operations API for
    Omniflow.
servers: []
security: []
paths:
  /v1/account/wallet:
    get:
      tags:
        - account
      description: >-
        Balances per currency with the top-up policy and the ledger. Currencies
        are isolated: a balance in one never funds an order in another.
      operationId: getAccountWallet
      parameters:
        - in: query
          name: currency
          schema:
            type: string
        - $ref: '#/components/parameters/Cursor'
        - in: query
          name: cursorId
          schema:
            type: string
            format: uuid
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: Wallet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountWallet'
        '400':
          $ref: '#/components/responses/Problem'
components:
  parameters:
    Cursor:
      in: query
      name: cursor
      schema:
        type: string
        description: Opaque keyset cursor from the previous page.
  schemas:
    AccountWallet:
      type: object
      required:
        - balances
        - currency
        - topUp
        - entries
      properties:
        balances:
          type: array
          description: >-
            One entry per currency. Currencies are isolated; a balance in one
            never funds an order in another.
          items:
            type: object
            required:
              - currency
              - totalMinor
              - reservedMinor
              - availableMinor
            properties:
              currency:
                type: string
              totalMinor:
                type: integer
                format: int64
              reservedMinor:
                type: integer
                format: int64
              availableMinor:
                type: integer
                format: int64
        currency:
          type: string
        topUp:
          type: object
          required:
            - enabled
            - minimumMinor
            - maximumMinor
            - presets
            - providers
          properties:
            enabled:
              type: boolean
            minimumMinor:
              type: integer
              format: int64
            maximumMinor:
              type: integer
              format: int64
            presets:
              type: array
              items:
                type: integer
                format: int64
            remainingWindowMinor:
              type: integer
              format: int64
              description: What the rolling-window limit still allows.
            providers:
              type: array
              items:
                $ref: '#/components/schemas/AccountPaymentChoice'
        entries:
          type: array
          items:
            type: object
            required:
              - id
              - type
              - amountMinor
              - currency
              - occurredAt
            properties:
              id:
                type: string
                format: uuid
              type:
                type: string
              amountMinor:
                type: integer
                format: int64
              currency:
                type: string
              reason:
                type: string
              occurredAt:
                type: string
                format: date-time
        pendingTopUps:
          type: array
          description: >-
            Top-up orders still waiting to be paid, newest first. A top-up is
            not in the order history — it buys nothing — so this is where a
            customer finds one whose provider page they closed or whose intent
            the provider refused, with its payment handoff.
          items:
            $ref: '#/components/schemas/AccountOrder'
        nextCursor:
          type: string
        nextCursorId:
          type: string
          format: uuid
    AccountPaymentChoice:
      type: object
      required:
        - provider
        - currency
        - recurring
      properties:
        provider:
          type: string
        currency:
          type: string
        amountMinor:
          type: integer
          format: int64
        recurring:
          type: boolean
    AccountOrder:
      type: object
      required:
        - id
        - state
        - operation
        - phase
        - currency
        - subtotalMinor
        - discountMinor
        - walletMinor
        - externalMinor
        - paidMinor
        - refundedMinor
        - plan
        - createdAt
      properties:
        id:
          type: string
          format: uuid
        state:
          type: string
          enum:
            - draft
            - pending
            - paid
            - fulfilled
            - cancelled
            - expired
            - partially_refunded
            - refunded
        operation:
          type: string
        phase:
          type: string
          description: >-
            The combined payment and provisioning state the panel renders: what
            the customer is waiting for, rather than which table changed.
        currency:
          type: string
        subtotalMinor:
          type: integer
          format: int64
        discountMinor:
          type: integer
          format: int64
        walletMinor:
          type: integer
          format: int64
        externalMinor:
          type: integer
          format: int64
        paidMinor:
          type: integer
          format: int64
        refundedMinor:
          type: integer
          format: int64
        plan:
          type: string
        subscriptionId:
          type: string
        createdAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        payment:
          type: object
          required:
            - id
            - provider
            - status
            - handoff
          properties:
            id:
              type: string
              format: uuid
            provider:
              type: string
            status:
              type: string
            handoff:
              type: string
              enum:
                - hosted
                - telegram_invoice
                - manual
                - none
            checkoutUrl:
              type: string
            receiptUrl:
              type: string
        fulfillment:
          type: object
          description: >-
            Provisioning progress, read from the fulfillment operation rather
            than carried by the client.
          required:
            - status
            - attempts
          properties:
            status:
              type: string
            attempts:
              type: integer
            errorCode:
              type: string
            updatedAt:
              type: string
              format: date-time
        refunds:
          type: array
          items:
            type: object
            required:
              - status
              - amountMinor
              - currency
              - createdAt
            properties:
              status:
                type: string
              amountMinor:
                type: integer
                format: int64
              currency:
                type: string
              createdAt:
                type: string
                format: date-time
        paymentChoices:
          type: array
          description: >-
            The methods that can settle this order in its currency, each priced
            at what the order still owes. Present on the detail response while
            the order is pending and owes something, so the page can offer a
            method without depending on the URL the checkout redirected to.
            Telegram Stars appears only for a customer with a Telegram identity.
          items:
            $ref: '#/components/schemas/AccountPaymentChoice'
        preferredProvider:
          type: string
          description: >-
            The method the checkout recorded, while that checkout is still
            attached to the order.
    Problem:
      type: object
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        request_id:
          type: string
  responses:
    Problem:
      description: Request failed
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.