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

# Projektverbrauch abrufen

> Abrufen von Kreditverbrauch, Abonnementdetails und Anforderungen pro Dienst für ein Projekt im aktuellen Kreditzyklus.

## Überblick

Gibt einen vollständigen Überblick über den Kreditverbrauch eines Projekts für den aktuellen Kreditzyklus zurück, einschließlich verbleibender Kredite, Abonnementpläne und einer Aufschlüsselung der Anforderungen nach Diensttyp (RPC, DAS, gRPC, WebSocket usw.).

Alle Kreditangaben beziehen sich auf den `creditCycle` — das Zeitfenster, in dem Kredite angesammelt und zurückgesetzt werden, abgeleitet vom Abrechnungsanker des Abonnements. Jedes Projekt hat einen, auch kostenlose Pläne. Der `subscriptionDetails.billingCycle` ist das Abrechnungsfenster; es ist informativ und `null` bei kostenlosen Plänen, die nie abgerechnet werden.

## Anforderungsparameter

<ParamField path="id" type="string" required>
  Die Projekt-ID, für die der Verbrauch abgerufen werden soll. Muss mit dem Projekt übereinstimmen, das dem für die Authentifizierung verwendeten API-Schlüssel zugeordnet ist.
</ParamField>

## Antwortfelder

<ParamField body="creditsRemaining" type="number">
  Verbleibende Kredite im aktuellen Kreditzyklus. Berechnet als Kreditlimit des Plans minus verbrauchte reguläre Kredite, auf null abgerundet.
</ParamField>

<ParamField body="creditsUsed" type="number">
  Gesamtkredite, die im aktuellen Kreditzyklus verbraucht wurden, einschließlich regulärer und vorausbezahlter Kredite.
</ParamField>

<ParamField body="prepaidCreditsRemaining" type="number">
  Noch verfügbare vorausbezahlte Kredite.
</ParamField>

<ParamField body="prepaidCreditsUsed" type="number">
  Vorausbezahlte Kredite, die im aktuellen Kreditzyklus verbraucht wurden.
</ParamField>

<ParamField body="creditCycle" type="object">
  Das Zeitfenster, auf das sich alle Kreditangaben in dieser Antwort beziehen — der Zeitraum, in dem Kredite angesammelt und zurückgesetzt werden, abgeleitet vom Abrechnungsanker des Abonnements. Immer vorhanden, für jeden Plan, auch kostenlose Pläne.
</ParamField>

<ParamField body="creditCycle.start" type="string">
  Startdatum des Kreditzyklus im `YYYY-MM-DD` Format (UTC).
</ParamField>

<ParamField body="creditCycle.end" type="string">
  Enddatum des Kreditzyklus im `YYYY-MM-DD` Format (UTC).
</ParamField>

<ParamField body="subscriptionDetails" type="object">
  Informationen zum Abonnementplan und Abrechnungszyklus.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle" type="object | null">
  Start- und Enddaten des aktuellen Abrechnungszyklus. Nur informativ — `null` bei kostenlosen Plänen, die nie abgerechnet werden. Bei kostenpflichtigen Plänen entspricht dies normalerweise `creditCycle`.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.start" type="string">
  Startdatum des Abrechnungszyklus im `YYYY-MM-DD` Format.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.end" type="string">
  Enddatum des Abrechnungszyklus im `YYYY-MM-DD` Format.
</ParamField>

<ParamField body="subscriptionDetails.creditsLimit" type="number">
  Gesamtes Kreditlimit für den Kreditzyklus basierend auf Ihrem Plan.
</ParamField>

<ParamField body="subscriptionDetails.plan" type="string">
  Der Name des Abonnementplans (z.B. `"business"`, `"professional"`).
</ParamField>

<ParamField body="credits" type="object">
  Kreditverbrauch pro Produkt für den aktuellen Kreditzyklus in ganzen Krediten. Deckt jedes Produkt ab. Werte werden roh gesammelt und am Ende einmal gerundet, um der Abrechnung zu entsprechen, sodass die Kredite pro Produkt möglicherweise nicht genau zu `creditsUsed` nach dem Runden zusammenpassen.
</ParamField>

<ParamField body="credits.rpc" type="number">
  Von standard Solana RPC verbrauchte Kredite.
</ParamField>

<ParamField body="credits.enhancedApi" type="number">
  Von der Enhanced API verbrauchte Kredite (z.B. geparste Transaktionen, Token-Metadaten).
</ParamField>

<ParamField body="credits.walletApi" type="number">
  Von der Wallet API verbrauchte Kredite.
</ParamField>

<ParamField body="credits.das" type="number">
  Von der DAS (Digital Asset Standard) API verbrauchte Kredite.
</ParamField>

<ParamField body="credits.webhooks" type="number">
  Von Webhooks verbrauchte Kredite.
</ParamField>

<ParamField body="credits.laserstreamGrpc" type="number">
  Von LaserStream gRPC verbrauchte Kredite (bandbreitenberechnet).
</ParamField>

<ParamField body="credits.laserstreamWebsocket" type="number">
  Von LaserStream WebSocket verbrauchte Kredite (bandbreitenberechnet).
</ParamField>

<ParamField body="credits.preConfirmations" type="number">
  Von Preconfirmations verbrauchte Kredite.
</ParamField>

<ParamField body="credits.archival" type="number">
  Von Archival verbrauchte Kredite.
</ParamField>

<ParamField body="credits.photon" type="number">
  Von Photon (ZK-Kompression) verbrauchte Kredite.
</ParamField>

<ParamField body="credits.other" type="number">
  Von nicht kategorisiertem Verbrauch verbrauchte Kredite.
</ParamField>

<ParamField body="requests" type="object">
  Anfrageanzahl für den aktuellen Kreditzyklus, nur für anfragegemessene Produkte. Die bandbreitenberechneten LaserStream-Produkte (`laserstreamGrpc`, `laserstreamWebsocket`) erscheinen hier nicht — siehe `dataTransfer`. Felder: `rpc`, `enhancedApi`, `walletApi`, `das`, `webhooks`, `preConfirmations`, `archival`, `photon`, `other`.
</ParamField>

<ParamField body="dataTransfer" type="object">
  Übertragene Bytes für den aktuellen Kreditzyklus, nur für die bandbreitenberechneten LaserStream-Produkte. Diese Produkte werden nach übertragenen Daten abgerechnet, nicht nach Anfragen, daher erscheinen sie hier und in `credits`, aber nie in `requests`. Felder: `laserstreamGrpc`, `laserstreamWebsocket`.
</ParamField>

## Anforderungsparameter

<ParamField body="id" type="string" required>
  Die Projekt-ID, für die der Verbrauch abgerufen werden soll. Muss mit dem Projekt übereinstimmen, das dem API-Schlüssel zugeordnet ist.
</ParamField>


## OpenAPI

````yaml de/openapi/admin-api/getProjectUsage.yaml GET /v0/admin/projects/{id}/usage
openapi: 3.0.3
info:
  title: Helius Admin API
  description: |
    Programmgesteuerter Zugriff auf Projekt-Nutzungs- und Abrechnungsdaten.

    ## Authentifizierung

    Alle Anfragen erfordern einen API-Schlüssel, der entweder als:
    - Header: `X-Api-Key: YOUR_API_KEY`
    - Query-Parameter: `?api-key=YOUR_API_KEY`
    übergeben wird.
  version: 1.0.0
  contact:
    name: API-Support
    url: https://helius.dev
servers:
  - url: https://admin-api.helius.xyz
    description: Produktionsserver
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
paths:
  /v0/admin/projects/{id}/usage:
    get:
      tags:
        - Admin
      summary: Projektnutzung abrufen
      description: >
        Abrufen der Kreditnutzung, Abonnementdetails und Anfragen pro Dienst für
        ein Projekt innerhalb des aktuellen Kreditzyklus — der Zeitraum, in dem
        Credits angesammelt und zurückgesetzt werden, wie im Feld `creditCycle`
        angegeben.


        Der zum Einloggen verwendete API-Schlüssel muss zu dem im Pfad
        angegebenen Projekt gehören. Anfragen, bei denen das Projekt des
        API-Schlüssels nicht mit dem `id`-Parameter übereinstimmt, liefern einen
        `400`-Fehler.
      operationId: getProjectUsage
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Die Projekt-ID, für die die Nutzung abgerufen werden soll. Muss mit
            dem Projekt übereinstimmen, das mit dem API-Schlüssel verbunden ist.
          schema:
            type: string
            format: uuid
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: Projektnutzung erfolgreich abgerufen.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectUsageResponse'
              example:
                creditsRemaining: 486100
                creditsUsed: 13900
                prepaidCreditsRemaining: 50000
                prepaidCreditsUsed: 0
                creditCycle:
                  start: '2026-04-01'
                  end: '2026-05-01'
                subscriptionDetails:
                  billingCycle:
                    start: '2026-04-01'
                    end: '2026-05-01'
                  creditsLimit: 500000
                  plan: business
                credits:
                  rpc: 4500
                  enhancedApi: 1200
                  walletApi: 0
                  das: 5000
                  webhooks: 800
                  laserstreamGrpc: 1500
                  laserstreamWebsocket: 800
                  preConfirmations: 100
                  archival: 0
                  photon: 0
                  other: 0
                requests:
                  rpc: 4500
                  enhancedApi: 1200
                  walletApi: 0
                  das: 5000
                  webhooks: 800
                  preConfirmations: 50
                  archival: 0
                  photon: 0
                  other: 0
                dataTransfer:
                  laserstreamGrpc: 15000000
                  laserstreamWebsocket: 8000000
        '400':
          description: >-
            Schlechte Anfrage — die Projekt-ID im Pfad stimmt nicht mit dem
            Projekt überein, das mit dem API-Schlüssel verbunden ist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 400
                message: Ungültige Projekt-ID
                error: Schlechte Anfrage
        '401':
          description: >-
            Nicht autorisiert — API-Schlüssel fehlt, ist fehlerhaft oder wurde
            nicht gefunden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 401
                message: Fehlender oder ungültiger API-Schlüssel
                error: Nicht autorisiert
        '403':
          description: Verboten — die Admin-API ist für dieses Projekt nicht aktiviert.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 403
                message: Admin-API ist für dieses Projekt nicht aktiviert
                error: Verboten
        '429':
          description: >-
            Zu viele Anfragen — die Rate von 5 Anfragen pro Sekunde wurde
            überschritten.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 429
                message: 'ThrottlerException: Zu viele Anfragen'
                error: Zu viele Anfragen
        '500':
          description: >-
            Interner Serverfehler — ein serverseitiger Fehler ist aufgetreten
            (z. B. fehlende Abrechnungsdaten).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 500
                message: Interner Serverfehler
                error: Interner Serverfehler
components:
  schemas:
    ProjectUsageResponse:
      type: object
      properties:
        creditsRemaining:
          type: number
          description: >-
            Anzahl der Credits, die im aktuellen Kreditzyklus übrig sind.
            Berechnet als `creditsLimit - regularCreditsUsed`, auf 0 gerundet.
          example: 487500
        creditsUsed:
          type: number
          description: >-
            Gesamtzahl der Credits, die im aktuellen Kreditzyklus verbraucht
            wurden, einschließlich regulärer und vorausbezahlter Credits.
          example: 12500
        prepaidCreditsRemaining:
          type: number
          description: Anzahl der verbleibenden vorausbezahlten Credits.
          example: 50000
        prepaidCreditsUsed:
          type: number
          description: >-
            Anzahl der vorausbezahlten Credits, die im aktuellen Kreditzyklus
            verbraucht wurden.
          example: 0
        creditCycle:
          type: object
          description: >
            Der Zeitraum, auf den jede Kreditzahl in dieser Antwort bezogen ist
            — der

            Zeitraum, in dem Credits angesammelt und zurückgesetzt werden,
            abgeleitet vom Abrechnungsanker des Abonnements. Immer vorhanden,
            bei jedem Plan, einschließlich kostenloser Pläne, die nie in
            Rechnung gestellt werden.
          properties:
            start:
              type: string
              description: Startdatum des Kreditzyklus (`YYYY-MM-DD`, UTC).
              example: '2026-04-01'
            end:
              type: string
              description: Enddatum des Kreditzyklus (`YYYY-MM-DD`, UTC).
              example: '2026-05-01'
        subscriptionDetails:
          type: object
          description: Details zum Abonnementplan des Projekts und Abrechnungszyklus.
          properties:
            billingCycle:
              type: object
              nullable: true
              description: >
                Start- und Enddaten des aktuellen Abrechnungszyklus. Nur
                informativ —

                `null` bei kostenlosen Plänen, die nie in Rechnung gestellt
                werden. Bei bezahlten Plänen stimmt dies normalerweise mit dem
                `creditCycle` überein.
              properties:
                start:
                  type: string
                  description: Startdatum des Abrechnungszyklus.
                  example: '2026-04-01'
                end:
                  type: string
                  description: Enddatum des Abrechnungszyklus.
                  example: '2026-05-01'
            creditsLimit:
              type: number
              description: >-
                Gesamt-Credit-Limit für den aktuellen Kreditzyklus basierend auf
                dem Plan.
              example: 500000
            plan:
              type: string
              description: Der Name des Abonnementplans.
              example: business
        credits:
          type: object
          description: >
            Kreditverbrauch pro Produkt für den aktuellen Kreditzyklus, in
            ganzen

            Credits. Deckt jedes Produkt ab. Die Werte werden unverändert
            summiert und einmal am Ende gerundet, um der Abrechnung zu
            entsprechen, sodass die Pro-Produkt-Credits nach dem Runden
            möglicherweise nicht exakt zu `creditsUsed` summiert werden.
          properties:
            rpc:
              type: number
              description: Credits, die durch Standard-Solana-RPC verbraucht werden.
              example: 4500
            enhancedApi:
              type: number
              description: >-
                Credits, die durch die Enhanced API verbraucht werden (z. B.
                analysierte Transaktionen, Token-Metadaten).
              example: 1200
            walletApi:
              type: number
              description: Credits, die durch die Wallet API verbraucht werden.
              example: 0
            das:
              type: number
              description: >-
                Credits, die durch die DAS (Digital Asset Standard) API
                verbraucht werden.
              example: 5000
            webhooks:
              type: number
              description: Credits, die durch Webhooks verbraucht werden.
              example: 800
            laserstreamGrpc:
              type: number
              description: >-
                Credits, die durch LaserStream gRPC verbraucht werden
                (bandbreitenbasiert).
              example: 1500
            laserstreamWebsocket:
              type: number
              description: >-
                Credits, die durch LaserStream WebSocket verbraucht werden
                (bandbreitenbasiert).
              example: 800
            preConfirmations:
              type: number
              description: Credits, die durch Preconfirmations verbraucht werden.
              example: 100
            archival:
              type: number
              description: Credits, die durch Archivierung verbraucht werden.
              example: 0
            photon:
              type: number
              description: Credits, die durch Photon (ZK-Kompression) verbraucht werden.
              example: 0
            other:
              type: number
              description: >-
                Credits, die durch nicht kategorisierte Nutzung verbraucht
                werden.
              example: 0
        requests:
          type: object
          description: >
            Anzahl der Anfragen für den aktuellen Kreditzyklus, nur für
            anfragebasierte Produkte. Die bandbreitenbasierten
            LaserStream-Produkte (`laserstreamGrpc`, `laserstreamWebsocket`)
            erscheinen hier nicht — siehe `dataTransfer`.
          properties:
            rpc:
              type: number
              description: Anzahl der Standard-Solana-RPC-Anfragen.
              example: 4500
            enhancedApi:
              type: number
              description: Anzahl der Enhanced API-Anfragen.
              example: 1200
            walletApi:
              type: number
              description: Anzahl der Wallet API-Anfragen.
              example: 0
            das:
              type: number
              description: Anzahl der DAS (Digital Asset Standard) API-Anfragen.
              example: 5000
            webhooks:
              type: number
              description: Anzahl der Webhook-Zustellungsereignisse.
              example: 800
            preConfirmations:
              type: number
              description: Anzahl der Preconfirmations-Anfragen.
              example: 50
            archival:
              type: number
              description: Anzahl der Archival-RPC-Anfragen.
              example: 0
            photon:
              type: number
              description: Anzahl der Photon (ZK-Kompression) Anfragen.
              example: 0
            other:
              type: number
              description: Anzahl der nicht kategorisierten Anfragen.
              example: 0
        dataTransfer:
          type: object
          description: >
            Übertragene Bytes für den aktuellen Kreditzyklus, nur für die
            bandbreitenbasierten LaserStream-Produkte. Diese Produkte werden
            nach übertragenen Daten berechnet, nicht nach der Anzahl der
            Anfragen, daher erscheinen sie hier und in `credits`, aber nie in
            `requests`.
          properties:
            laserstreamGrpc:
              type: number
              description: Bytes, die über LaserStream gRPC übertragen werden.
              example: 15000000
            laserstreamWebsocket:
              type: number
              description: Bytes, die über LaserStream WebSocket übertragen werden.
              example: 8000000
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP-Statuscode.
        message:
          type: string
          description: Menschlich lesbare Fehlermeldung.
        error:
          type: string
          description: HTTP-Fehlername.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: API-Schlüssel als Query-Parameter übergeben.
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API-Schlüssel als Anforderungs-Header übergeben.

````