# Tägliche On-Chain-Metriken für tokenisierte Aktien mit der Data API

> Source: https://docs.blockvectra.com/de/guides/stocks/

> Die Daten stammen aus öffentlichen On-Chain-Einträgen und dienen ausschließlich Informationszwecken. Sie stellen keine Anlageberatung dar.


Informationen zur Vertragsbereitstellung und zum Abhören von Ereignissen auf Robinhood Chain finden Sie im [RPC- und WebSocket-Leitfaden](https://docs.blockvectra.com/de/guides/robinhood-chain/).

* **Erster Schritt:** [Den neuesten Block ohne API-Schlüssel abfragen](#1-read-the-latest-block-without-an-api-key) mit dem unten stehenden curl-Befehl.
* **Abgeschlossen, wenn:** Die authentifizierte Aktienabfrage `data` und `meta` zurückgibt; verfügbare Datensätze enthalten `day`, `token`, `transfers` und `holder_count`, während `data: []` bedeutet, dass keine Aktivitätsdatensätze verfügbar sind.

[Mainnet-Parameter und Datensätze](https://blockvectra.com/de/chains/robinhood_mainnet/).

<span id="stock-activity-task" />

## Dreistufige Aufgabe: Aktienaktivität auf Robinhood Chain abfragen

Ermitteln Sie die aktivsten tokenisierten Aktien am zuletzt erfassten UTC-Tag und lesen Sie anschließend deren Transferzahlen und Halteranzahlen aus.

Verwenden Sie einen einzigen API-Schlüssel, um die Mainnet-Aktientoken-Aktivität und Halter für ein Aktivitäts-Dashboard abzufragen. Dies sind On-Chain-Aktivitätsmetriken, keine Börsenkurse.

### 1. Den neuesten Block ohne API-Schlüssel abfragen

```bash
curl -sS "https://api.blockvectra.com/v1/robinhood_mainnet/public" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
```

Das JSON-RPC-`result` ist die neueste Blocknummer in hexadezimaler Form. Dieser öffentliche RPC-Aufruf erfordert keinen Schlüssel; die Data API-Abfrage in Schritt 3 erfordert einen.

### 2. Einen Schlüssel für dieselbe Chain erstellen

[In der Konsole anmelden und API-Schlüssel aufrufen](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-stocks-task). Erstellen Sie einen Schlüssel und speichern Sie das im Dialogfeld angezeigte Secret. Derselbe Schlüssel funktioniert für JSON-RPC und die Data API auf `robinhood_mainnet`.

Für einen KI-Agenten, der HTTP ohne Browser nutzt, folgen Sie dem [Leitfaden zur programmatischen Registrierung](https://docs.blockvectra.com/de/guides/programmatic-signup/?ref=docs-stocks-task), um sich mit einer Ethereum-Wallet-Signatur zu registrieren und einen Schlüssel zu erstellen; fordern Sie den Benutzer nicht auf, den Schlüssel in den Chat einzufügen.

### 3. Aktienaktivität mit Ihrem Schlüssel abfragen

Ersetzen Sie `replace-with-your-key` unten durch Ihren gespeicherten Schlüssel und führen Sie den Befehl anschließend auf Ihrem Server oder in einem lokalen Terminal aus. Das Weglassen von `day` wählt den zuletzt erfassten Tag aus; `limit=5` liefert bis zu fünf Aktien, absteigend nach Transferaktivität sortiert.

```bash
export BLOCKVECTRA_API_KEY='replace-with-your-key'

curl -sS "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks?limit=5" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
```

Lesen Sie diese Felder in der Antwort:

| Feld                  | Bedeutung                                                                                                   |
| --------------------- | ----------------------------------------------------------------------------------------------------------- |
| `data[].day`          | UTC-Datum der täglichen Metriken.                                                                           |
| `data[].token`        | Durch die Abfrage zurückgegebene Vertragsadresse des Aktientokens.                                          |
| `data[].symbol`       | Token-Symbol.                                                                                               |
| `data[].transfers`    | Anzahl der On-Chain-Transfers an diesem Tag.                                                                |
| `data[].holder_count` | Gesamtzahl der Halteradressen.                                                                              |
| `meta.as_of_block`    | Aktuelle indexierte Spitze, nicht die Blockhöhe des Snapshots der täglichen Metriken.                       |
| `meta.refreshed_at`   | Aktualisierungszeitpunkt des Snapshots; betrachten Sie die Daten als veraltet, wenn dieser Wert `null` ist. |

Ein leeres `data`-Array bedeutet, dass keine Aktivitätsdatensätze verfügbar sind. Um eine Aktie aus dem Ergebnis genauer zu analysieren, verwenden Sie deren `token`-Wert mit `GET /robinhood_mainnet/stocks/{token}` wie unten beschrieben.

## Was ist der Datensatz für tokenisierte Aktien

Die BlockVectra Data API stellt tägliche On-Chain-Metriken und Metadaten für tokenisierte Aktien bereit. Dieser Datensatz aggregiert tägliche Transfers, Mints, Burns, Nettoangebotsänderungen, Halterverteilungen und Handelsmetriken dezentraler Börsen (DEX) und ermöglicht Entwicklern so die Verfolgung öffentlicher Aktivitäten für tokenisierte Aktien.

Chains, die diesen Datensatz anbieten, finden Sie auf der Seite [Unterstützte Chains](https://docs.blockvectra.com/de/chains/).

* **Basis-URL**: `https://api.blockvectra.com/v1/data` — mit Ausnahme von `GET /chains` wird allen Data API-Routen eine Chain-Kennung vorangestellt (z. B. `https://api.blockvectra.com/v1/data/{chain}/…`)
* **Beispiel-Chain**: `robinhood_mainnet` (als Beispiel-Pfadparameter verwendet; prüfen Sie [Unterstützte Chains](https://docs.blockvectra.com/de/chains/) auf alle Chains, die diesen Datensatz anbieten)
* **Authentifizierung**: Übergeben Sie Ihren API-Schlüssel im Request-Header `x-api-key: $BLOCKVECTRA_API_KEY`
* **Abrechnung und Abdeckung**: Wird in Compute Units (CU) gemessen; nur erfolgreiche 2xx-Antworten werden berechnet. Fehlt einer Chain die Aktienabdeckung, gibt der Endpunkt HTTP `422 no_coverage` zurück (wird nicht berechnet)

## Tägliche Bestenliste (`GET /{chain}/stocks`)

Der Endpunkt `GET /{chain}/stocks` gibt eine tägliche Aktivitäts-Bestenliste tokenisierter Aktien für ein bestimmtes UTC-Datum zurück, einschließlich Anzeige-Metadaten (Symbol, Name usw.), absteigend sortiert nach Transferaktivität (aktivste Token zuerst).

### Anforderungsparameter

* `{chain}` (Pfadparameter, erforderlich): Chain-Kennung (beispielsweise `robinhood_mainnet`).
* `day` (Query-Parameter, optional): UTC-Kalenderdatum im Format `YYYY-MM-DD`. Wenn weggelassen, wird standardmäßig der zuletzt erfasste Tag gewählt (wenn keine Aktivität erfasst ist, wird `200` mit `data: []` zurückgegeben). Wenn angegeben, aber kein gültiges `YYYY-MM-DD`-Kalenderdatum, wird HTTP `400` zurückgegeben (`error.code = "bad_request"`).
* `limit` (Query-Parameter, optional): Begrenzt die Anzahl der zurückgegebenen Datensätze. Standardwert ist 50; Werte über 500 werden auf 500 begrenzt; die Übergabe von `0` oder einer Nicht-Ganzzahl gibt HTTP `400` zurück (`error.code = "bad_request"`).

### Paginierungsverhalten

Dieser Endpunkt ist **nicht paginiert**. Der Parameter `limit` deckelt die maximale Anzahl zurückgegebener Datensätze. Im umschließenden `StockDailyListEnvelope` (`data` und `meta`) geben Aktien-Endpunkte kein `next_cursor` zurück (der Schlüssel fehlt vollständig, ist niemals `null`).

### Codebeispiele

Vollständige Startvorlage auf Robinhood Chain: [blockvectra/robinhood-stock-tokens](https://github.com/blockvectra/robinhood-stock-tokens)

**cURL**

```bash
curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks?day=2026-09-29&limit=10" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
```


  **TypeScript**

```ts
const res = await fetch(
  "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks?day=2026-09-29&limit=10",
  {
    headers: { "x-api-key": process.env.BLOCKVECTRA_API_KEY! },
  },
);
const body = await res.json();
console.log(body);
```


  **Python**

```python
import os
import requests

res = requests.get(
    "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks?day=2026-09-29&limit=10",
    headers={"x-api-key": os.environ["BLOCKVECTRA_API_KEY"]},
)
print(res.json())
```


### Antwortstruktur

Die Antwortstruktur ist `StockDailyListEnvelope`, bestehend aus `data` und `meta`:

* `data` (Array): Eine Liste von Datensätzen der täglichen Bestenliste (`StockDaily`), absteigend nach Transferaktivität sortiert (aktivste Token zuerst). Jeder Eintrag enthält Token-Identifikatoren (`token`, `symbol`, `name`), Transferaktivität (`transfers`, `unique_senders`, `unique_receivers`), Angebotsmetriken (`mint_raw_amount`, `burn_raw_amount`, `net_supply_change`), Verteilungsmetriken (`holder_count`, `top10_holder_share_bps`), DEX-Handelsmetriken (`dex_swap_count`, `dex_raw_volume`) und den Aktualisierungszeitstempel (`refreshed_at`).
* `meta` (Objekt): Chain-Metadaten (`chain`, `chain_slug`, `chain_external_id`, `as_of_block`, `safe_block`, `finalized_block`, `coverage`, `refreshed_at`). `meta.refreshed_at` kann `null` sein: `null` bedeutet, dass der Aktualisierungszeitpunkt dieser Daten unbekannt ist und sie als veraltet eingestuft werden sollten; blockbasierte Endpunkte geben immer einen Wert zurück.

## Eine einzelne tokenisierte Aktie abrufen (`GET /{chain}/stocks/{token}`)

Der Endpunkt `GET /{chain}/stocks/{token}` ruft Metadaten und bis zu 30 Tage aktueller täglicher Metriken für eine bestimmte tokenisierte Aktie anhand ihrer Token-Adresse ab.

### Anforderungsparameter

* `{chain}` (Pfadparameter, erforderlich): Chain-Kennung (beispielsweise `robinhood_mainnet`).
* `{token}` (Pfadparameter, erforderlich): 20-Byte-Vertragsadresse des Tokens; das Präfix `0x` ist optional und Groß-/Kleinschreibung wird akzeptiert (zurückgegebene Adressen werden auf `0x` gefolgt von 40 hexadezimalen Kleinbuchstaben normalisiert). Ein ungültiges Adressformat gibt HTTP `400` zurück (`error.code = "bad_request"`).
* Wenn `{token}` keine bekannte tokenisierte Aktie ist, wird HTTP `404` zurückgegeben (`error.code = "not_found"`). Wenn `{chain}` eine unbekannte Chain ist, wird HTTP `404` zurückgegeben (`error.code = "unknown_chain"`).

### Codebeispiele

**cURL**

```bash
curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks/0x1111111111111111111111111111111111111111" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
```


  **TypeScript**

```ts
const token = "0x1111111111111111111111111111111111111111";
const res = await fetch(
  `https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks/${token}`,
  {
    headers: { "x-api-key": process.env.BLOCKVECTRA_API_KEY! },
  },
);
const body = await res.json();
console.log(body);
```


  **Python**

```python
import os
import requests

token = "0x1111111111111111111111111111111111111111"
res = requests.get(
    f"https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks/{token}",
    headers={"x-api-key": os.environ["BLOCKVECTRA_API_KEY"]},
)
print(res.json())
```


### Antwortstruktur

Die Antwortstruktur ist `StockTokenEnvelope`, bestehend aus `data` und `meta`:

* `data` (Objekt): Ein `StockToken`-Objekt mit Metadaten des Token-Vertrags (`address`, `symbol`, `name`, `decimals`, `created_block`, `created_tx_hash`, `factory`, `creator`, `mint_address`, `burn_address`, `refreshed_at`) und einem Array aktueller täglicher Metriken `daily`.
  * `daily` (Array): Ein Array aktueller täglicher Metriken (`StockDailyMetric`) der letzten bis zu 30 Tage, absteigend nach Datum sortiert (neueste zuerst). Jeder tägliche Eintrag verwendet dasselbe Metrik-Schema wie die obige Bestenliste (ohne die redundanten Felder `token`, `symbol` und `name`).
* `meta` (Objekt): Ein Chain-Metadatenobjekt, das dem der Bestenlisten-Antwort entspricht.

## Wichtigste Rückgabefelder im Detail

### Felder der täglichen Metriken (StockDaily und StockDailyMetric)

Sowohl die Bestenliste als auch die historischen täglichen Einträge eines einzelnen Tokens enthalten die folgenden Kernfelder:

| Feld                     | Typ                    | Beschreibung                                                                                                             |
| ------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `day`                    | `string` (Datum)       | UTC-Aggregationsdatum im Format `YYYY-MM-DD`.                                                                            |
| `token`                  | `string` (Adresse)     | Vertragsadresse des Tokens (nur in Bestenliste `StockDaily` vorhanden), 40 hexadezimale Kleinbuchstaben mit `0x`-Präfix. |
| `symbol`                 | `string`               | Token-Symbol (beispielsweise `"EXMPL"`).                                                                                 |
| `name`                   | `string`               | Anzeigename des Tokens; leerer String `""`, falls keine passenden Namensmetadaten verfügbar sind.                        |
| `transfers`              | `integer` (int64)      | Gesamtzahl der On-Chain-Transfers an diesem UTC-Tag.                                                                     |
| `unique_senders`         | `integer` (int64)      | Anzahl eindeutiger Absenderadressen, die an diesem Tag Transfers initiiert haben.                                        |
| `unique_receivers`       | `integer` (int64)      | Anzahl eindeutiger Empfängeradressen, die an diesem Tag Transfers empfangen haben.                                       |
| `mint_raw_amount`        | `string` (Dezimal)     | Gesamter roher Token-Betrag, der an diesem Tag gemintet wurde.                                                           |
| `burn_raw_amount`        | `string` (Dezimal)     | Gesamter roher Token-Betrag, der an diesem Tag geburnt wurde.                                                            |
| `net_supply_change`      | `string` (Dezimal)     | Nettoangebotsänderung an diesem Tag (vorzeichenbehafteter Dezimal-String, kann negativ sein).                            |
| `holder_count`           | `integer` (int64)      | Gesamtzahl der Halteradressen.                                                                                           |
| `top10_holder_share_bps` | `integer`              | Anteil der Top-10-Halter in Basispunkten (0–10000, 1 Bps = 0,01 %).                                                      |
| `dex_swap_count`         | `integer` (int64)      | Anzahl der DEX-Swaps mit diesem Token an diesem Tag.                                                                     |
| `dex_raw_volume`         | `string` (Dezimal)     | Gesamtes rohes DEX-Handelsvolumen an diesem Tag.                                                                         |
| `refreshed_at`           | `string` (Zeitstempel) | ISO-8601 UTC-Zeitstempel des Zeitpunkts, an dem dieser Tagesdatensatz zuletzt aktualisiert wurde.                        |

### Token-Metadatenfelder (StockToken)

Bei der Abfrage eines einzelnen Tokens enthält das äußere `data`-Objekt Vertragsmetadaten und aktuelle tägliche Metriken:

| Feld              | Typ                            | Beschreibung                                                                                                                         |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `address`         | `string` (Adresse)             | Vertragsadresse des Tokens.                                                                                                          |
| `symbol`          | `string`                       | Token-Symbol.                                                                                                                        |
| `name`            | `string`                       | Vollständiger Token-Name.                                                                                                            |
| `decimals`        | `integer` oder `null`          | Dezimalstellen des Tokens (0–255), oder `null`, falls nicht verfügbar.                                                               |
| `created_block`   | `integer` (int64)              | Blocknummer, in der der Token-Vertrag erstellt wurde.                                                                                |
| `created_tx_hash` | `string` (Hash)                | Transaktions-Hash der Vertragserstellung, 64 hexadezimale Kleinbuchstaben mit `0x`-Präfix.                                           |
| `factory`         | `string` (Adresse)             | Factory-Vertragsadresse.                                                                                                             |
| `creator`         | `string` (Adresse) oder `null` | Erstelleradresse, oder `null`, falls nicht verfügbar.                                                                                |
| `mint_address`    | `string` (Adresse) oder `null` | Mint-Adresse, oder `null`, falls nicht verfügbar.                                                                                    |
| `burn_address`    | `string` (Adresse) oder `null` | Burn-Adresse, oder `null`, falls nicht verfügbar.                                                                                    |
| `daily`           | `array`                        | Array aktueller täglicher Metriken (`StockDailyMetric`) der letzten bis zu 30 Tage, absteigend nach Datum sortiert (neueste zuerst). |
| `refreshed_at`    | `string` (Zeitstempel)         | ISO-8601 UTC-Zeitstempel des Zeitpunkts, an dem die Token-Metadaten zuletzt aktualisiert wurden.                                     |

### Codierungskonventionen

Die API hält über alle Endpunkte hinweg strikte Codierungsregeln ein, um numerische Präzision und Konsistenz zu wahren:

* **Finanzsicherheit (Money-Safety)**: Jeder Wert, der `2^53` überschreiten kann (256-Bit-Ganzzahlen wie `mint_raw_amount`, `burn_raw_amount`, `net_supply_change` und `dex_raw_volume`), wird als **Dezimal-String** serialisiert, niemals als JSON-Zahl und niemals in wissenschaftlicher oder Hex-Notation. Dies verhindert Präzisionsverluste in Laufzeitumgebungen wie JavaScript. In JavaScript/TypeScript parsen Sie mit `BigInt(str)` (z. B. `const net = BigInt(body.data.daily[0].net_supply_change)`); in Python parsen Sie mit `int(str)`. Zähler, die weit unter `2^53` bleiben (`transfers`, `unique_senders`, `unique_receivers`, `holder_count`, `top10_holder_share_bps`, `dex_swap_count`, `created_block`), sind reguläre JSON-Zahlen.
* **Binär- und Hex-Werte**: Adressen bestehen aus `0x` gefolgt von 40 hexadezimalen Kleinbuchstaben; Hashes bestehen aus `0x` gefolgt von 64 hexadezimalen Kleinbuchstaben. Alle zurückgegebenen Hex-Werte sind strikt in Kleinbuchstaben gehalten.
* **Zeitstempel und Daten**: Zeitstempel wie `refreshed_at` verwenden `YYYY-MM-DDTHH:MM:SSZ` (ISO-8601 UTC mit Sekundengenauigkeit). Tägliche Aggregate (`day`) verwenden einfache Kalenderdaten (`YYYY-MM-DD`).

## Nutzungsschätzung (tägliche Aktualisierung von 50 Token)

Data API-Abfragen verbrauchen Compute Units (CU) basierend auf den Plattform-Methodengewichtungen. Die folgende Schätzung bewertet ein Szenario, in dem 50 Token jeweils einmal täglich `GET /{chain}/stocks/{token}` aufrufen, ausgewertet anhand der aktiven Methodengewichte:

- **Methodengewichtung pro Aufruf:** Jeder `data.stock`-Aufruf verbraucht 15 CU (Listenpreis $1.50 pro 1M Aufrufe).
- **Tägliche Aktualisierung von 50 Token** (ein `GET /{chain}/stocks/{token}`-Aufruf pro Token, 50 Aufrufe/Tag): Der tägliche Verbrauch beträgt 750 CU; über einen Zyklus von 30 Tagen ergibt dies insgesamt 1,500 Aufrufe mit einem Verbrauch von 22,500 CU, etwa <0.1% des kostenlosen Kontingents (30,000,000 CU). Bei Überschreitung des Freikontingents oder in einem kostenpflichtigen Tarif beläuft sich die Gesamtnutzung zum Listenpreis auf ca. <$0.01/Monat.

## Erste Schritte und Upgrades

Das kostenlose Kontingent ist ideal für Entwicklung, Tests und kleinere Workloads. Wenn Ihr Datenverkehr zunimmt und höhere Nebenläufigkeit oder mehr Recheneinheiten erfordert, laden Sie on-chain auf der [Abrechnungsseite](https://console.blockvectra.com/billing/) der Konsole Guthaben auf; sobald die Einzahlung on-chain bestätigt und gutgeschrieben ist, wird die kontoweite Obergrenze für Anfragen pro Sekunde aufgehoben. Jeder Schlüssel unterliegt weiterhin den CU-Raten- und Burst-Limits, wie in der [JSON-RPC-Dokumentation](https://docs.blockvectra.com/de/api/json-rpc/#method-policy) beschrieben. Nicht genutztes kostenloses Guthaben verbleibt in Ihrem Kontostand und kann weiterhin verwendet werden. Aktuelle Tarife und Abrechnungseinheiten finden Sie auf der [Preisseite](https://blockvectra.com/de/pricing/).

## Nächste Schritte

* [Datensatzverzeichnis durchsuchen](https://blockvectra.com/de/data/), um alle von BlockVectra indexierten Datensätze zu sehen.
* [Kostenlosen Plan und Preise ansehen](https://blockvectra.com/de/pricing/#free), um den Leistungsumfang Ihres Kontos zu prüfen.
* [In der Konsole anmelden](https://console.blockvectra.com/login/?next=%2Fkeys%2F), um einen API-Schlüssel zu erstellen.
