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

# Authentifizierung

> Erfahren Sie, wie Sie Ihre Helius API-Anfragen sicher und effizient authentifizieren können

Helius API verwendet API-Schlüssel zur Authentifizierung von Anfragen. Jede API-Anfrage muss Ihren API-Schlüssel enthalten, um Ihre Identität und Berechtigungen zu überprüfen.

<Warning>
  Ihr API-Schlüssel ist eine vertrauliche Information, die Zugriff auf Ihr Helius-Konto gewährt. Geben Sie ihn niemals in clientseitigem Code, öffentlichen Repositories oder browserzugänglichen Bereichen preis.
</Warning>

## Erste Schritte

### 1. Erstellen Sie Ihren API-Schlüssel

<Steps>
  <Step title="Registrieren oder Anmelden">
    Erstellen Sie ein Konto auf dem [Helius Dashboard](https://dashboard.helius.dev) oder melden Sie sich bei Ihrem vorhandenen Konto an.
  </Step>

  <Step title="Navigieren Sie zu API-Schlüsseln">
    Gehen Sie zum Abschnitt **API-Schlüssel** in Ihrer Dashboard-Seitenleiste.
  </Step>

  <Step title="Erstellen Sie einen neuen Schlüssel">
    Klicken Sie auf **Neuen API-Schlüssel erstellen** und geben Sie einen beschreibenden Namen für Ihr Projekt an (z. B. "Produktions-App", "Entwicklungsumgebung").
  </Step>

  <Step title="Kopieren und sichern Sie Ihren Schlüssel">
    Kopieren Sie Ihren API-Schlüssel sofort und speichern Sie ihn sicher. Sie können ihn nicht mehr sehen, sobald Sie die Seite verlassen.
  </Step>
</Steps>

### 2. Verwendung Ihres API-Schlüssels

Fügen Sie Ihren API-Schlüssel als Abfrageparameter in alle Anfragen ein:

<CodeGroup>
  ```bash cURL theme={"system"}
  curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","id":1,"method":"getAccountInfo","params":["ACCOUNT_ADDRESS"]}'
  ```

  ```javascript JavaScript theme={"system"}
  const url = `https://mainnet.helius-rpc.com/?api-key=${YOUR_API_KEY}`;
  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      jsonrpc: '2.0',
      id: 1,
      method: 'getAccountInfo',
      params: ['ACCOUNT_ADDRESS']
    })
  });
  ```

  ```python Python theme={"system"}
  import requests

  url = f"https://mainnet.helius-rpc.com/?api-key={YOUR_API_KEY}"
  payload = {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getAccountInfo",
      "params": ["ACCOUNT_ADDRESS"]
  }
  response = requests.post(url, json=payload)
  ```
</CodeGroup>

## Erste Schritte (Für Agenten)

Agenten können programmgesteuert Helius-Konten registrieren, Projekte erstellen und API-Schlüssel mithilfe der [Helius CLI](/docs/de/agents/cli) generieren.

Für vollständige Anweisungen lesen Sie: [https://dashboard.helius.dev/agents.md](https://dashboard.helius.dev/agents.md)

### Installieren Sie die Helius CLI

<CodeGroup>
  ```bash theme={"system"}
  npm install -g helius-cli
  ```
</CodeGroup>

### Ein Schlüsselpaar generieren

<CodeGroup>
  ```bash theme={"system"}
  helius keygen
  ```
</CodeGroup>

### Das generierte Wallet aufladen (nur Autopay)

Überspringen Sie diesen Schritt, wenn Sie über den gehosteten Zahlungslink bezahlen (der Standard-Anmeldemodus, abgeschlossen mit `helius signup --resume`). Autopay (`--pay`) zahlt aus dem lokalen Schlüsselpaar: Senden Sie 1 USDC und 0.001 SOL an die in Schritt 2 angegebene Wallet-Adresse.

### Anmelden und API-Schlüssel erhalten

<CodeGroup>
  ```bash theme={"system"}
  # Default: prints a hosted payment link — pay with any wallet in the browser
  helius signup --email you@example.com --first-name Jane --last-name Doe --json

  # After paying via the link, finalize the account
  helius signup --resume --json

  # Or autopay from the funded local keypair
  helius signup --plan agent --pay --email you@example.com --first-name Jane --last-name Doe --json
  ```
</CodeGroup>

## Sicherheitsbest Practices

<CardGroup cols={2}>
  <Card title="Umgebungsvariablen" icon="shield-check">
    Speichern Sie Ihren API-Schlüssel in Umgebungsvariablen, nicht in Ihrem Quellcode.

    ```bash theme={"system"}
    export HELIUS_API_KEY="YOUR_API_KEY"
    ```
  </Card>

  <Card title="IP-Einschränkungen" icon="globe">
    Richten Sie IP-Einschränkungen für Ihre API-Schlüssel im Dashboard ein, um den Zugriff auf bestimmte IP-Adressen oder Bereiche zu beschränken.
  </Card>

  <Card title="Separate Schlüssel" icon="key">
    Verwenden Sie unterschiedliche API-Schlüssel für Entwicklungs-, Staging- und Produktionsumgebungen, um die Nutzung zu isolieren und die Sicherheit zu erhöhen.
  </Card>

  <Card title="Nutzung überwachen" icon="chart-line">
    Überprüfen Sie regelmäßig Ihre API-Nutzung im Dashboard, um ungewöhnliche Muster oder potenzielle Sicherheitsprobleme zu erkennen.
  </Card>
</CardGroup>

### Verwaltungsgeheimnisse

<Tabs>
  <Tab title="Node.js">
    ```javascript theme={"system"}
    // Use environment variables
    const apiKey = process.env.HELIUS_API_KEY;

    // Or use a secrets manager
    const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');
    const client = new SecretManagerServiceClient();

    async function getApiKey() {
      const [version] = await client.accessSecretVersion({
        name: 'projects/PROJECT_ID/secrets/helius-api-key/versions/latest',
      });
      return version.payload.data.toString();
    }
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={"system"}
    import os
    from dotenv import load_dotenv

    # Load environment variables
    load_dotenv()
    api_key = os.getenv('HELIUS_API_KEY')

    # Or use AWS Secrets Manager
    import boto3

    def get_secret():
        client = boto3.client('secretsmanager')
        response = client.get_secret_value(SecretId='helius-api-key')
        return response['SecretString']
    ```
  </Tab>

  <Tab title="Docker">
    ```dockerfile theme={"system"}
    # In your Dockerfile
    ENV HELIUS_API_KEY=""

    # Or use Docker secrets
    RUN --mount=type=secret,id=helius_key \
        cat /run/secrets/helius_key > /app/api_key.txt
    ```
  </Tab>
</Tabs>

## Ratenbegrenzungen & Nutzung

<Note>
  Ratenbegrenzungen variieren je nach Abonnementplan. Überwachen Sie Ihre Nutzung im [Helius Dashboard](https://dashboard.helius.dev), um sicherzustellen, dass Sie innerhalb Ihrer zugewiesenen Grenzen bleiben.
</Note>

### Verständnis der Ratenbegrenzungen

* **Anfragen pro Sekunde**: Basierend auf Ihrem Abonnementlevel
* **Monatliches Anfragenkontingent**: Gesamtzahl der Anfragen pro Abrechnungszyklus
* **Spitzenzulage**: Kurzfristige Anstiege über Ihr Basiskontingent hinaus

### Umgang mit Ratenbegrenzungen

<CodeGroup>
  ```javascript JavaScript theme={"system"}
  async function makeRequest(url, data) {
    try {
      const response = await fetch(url, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(data)
      });
      
      if (response.status === 429) {
        const retryAfter = response.headers.get('Retry-After');
        console.log(`Rate limited. Retry after ${retryAfter} seconds`);
        await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
        return makeRequest(url, data); // Retry
      }
      
      return response.json();
    } catch (error) {
      console.error('Request failed:', error);
      throw error;
    }
  }
  ```

  ```python Python theme={"system"}
  import time
  import requests

  def make_request(url, data):
      try:
          response = requests.post(url, json=data)
          
          if response.status_code == 429:
              retry_after = int(response.headers.get('Retry-After', 60))
              print(f"Rate limited. Waiting {retry_after} seconds...")
              time.sleep(retry_after)
              return make_request(url, data)  # Retry
          
          response.raise_for_status()
          return response.json()
      except requests.exceptions.RequestException as e:
          print(f"Request failed: {e}")
          raise
  ```
</CodeGroup>

## Fehlerbehebung

<AccordionGroup>
  <Accordion title="Ungültiger API-Schlüssel Fehler">
    **Symptome**: 401 Unauthorized oder "Invalid API Key"-Fehler

    **Lösungen**:

    * Überprüfen Sie, ob Ihr API-Schlüssel korrekt ist und nicht neu generiert wurde
    * Stellen Sie sicher, dass Sie den API-Schlüssel als Abfrageparameter einschließen: `?api-key=YOUR_KEY`
    * Stellen Sie sicher, dass keine zusätzlichen Leerzeichen oder Zeichen in Ihrem API-Schlüssel vorhanden sind
    * Bestätigen Sie, dass Ihr API-Schlüssel nicht abgelaufen oder widerrufen wurde
  </Accordion>

  <Accordion title="Ratenlimit überschritten">
    **Symptome**: 429 Zu viele Anfragen-Fehler

    **Lösungen**:

    * Überprüfen Sie Ihre aktuelle Nutzung im Dashboard
    * Implementieren Sie exponentielles Backoff in Ihrer Wiederholungslogik
    * Erwägen Sie ein Upgrade Ihres Plans für höhere Limits
    * Optimieren Sie Ihre Anfragen, um unnötige Anrufe zu reduzieren
  </Accordion>

  <Accordion title="Verbotener Zugriff">
    **Symptome**: 403 Verbotene-Fehler

    **Lösungen**:

    * Überprüfen Sie, ob IP-Einschränkungen Ihre Anfragen blockieren
    * Stellen Sie sicher, dass Ihr Abonnement Zugang zum Endpunkt enthält
    * Stellen Sie sicher, dass Ihr API-Schlüssel die erforderlichen Berechtigungen hat
  </Accordion>
</AccordionGroup>

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Schnellstartanleitung" icon="rocket" href="/docs/de/quickstart">
    Beginnen Sie mit Ihren ersten API-Anfragen mit Helius
  </Card>

  <Card title="API-Referenz" icon="book" href="/docs/de/api-reference">
    Erforschen Sie alle verfügbaren Endpunkte und Methoden
  </Card>

  <Card title="Ratenbegrenzungen" icon="credit-card" href="/docs/de/billing/rate-limits">
    Verstehen Sie Ratenbegrenzungen und Upgrade-Optionen
  </Card>

  <Card title="Dashboard" icon="chart-line" href="https://dashboard.helius.dev">
    Überwachen Sie Ihre API-Nutzung und verwalten Sie Schlüssel
  </Card>
</CardGroup>

## Unterstützung

Brauchen Sie Hilfe bei der Authentifizierung oder haben Sie Fragen zu API-Schlüsseln?

<CardGroup cols={2}>
  <Card title="Discord-Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Treten Sie unserem Discord bei für Hilfe in Echtzeit und Community-Support
  </Card>

  <Card title="E-Mail-Support" icon="envelope" href="mailto:support@helius.xyz">
    Kontaktieren Sie unser Support-Team direkt
  </Card>
</CardGroup>
