Zum Inhalt springen
Suche

Zum BeispielSeed-PhraseRealzinsMiCAStablecoin

Anmelden

Offene Daten

Öffentliche API

JSON über HTTPS unter /api/v1, nur lesend: das aktuelle Referenz-Release und die Datenplattform, kostenlos im offenen Tarif. Jede Ressource ist ohne Schlüssel verfügbar; ein Schlüssel erhöht das Ratenlimit und schaltet keine Daten frei.

Geprüft

Ressourcen

Alle Pfade sind relativ zur Website. Listen akzeptieren limit (1 bis 200, Standard 50) und cursor.

Ressourcen
PfadWas sie liefert
GET /api/v1/releasesAngenommene Referenz-Releases mit Tag, Methodenversion, Erstellungsdatum, Prüfsumme und den signierten Downloads.
GET /api/v1/releases/{tag}Ein Release nach Tag.
GET /api/v1/categoriesDie Kategorien des aktuellen Release mit ihren Kriterien-IDs.
GET /api/v1/categories/{id}Eine Kategorie.
GET /api/v1/criteriaKriterien mit Name, Beschreibung, Standardgewicht und Bestwert. Filter mit category; method_version liest die Kriterien dieser Methodenversion.
GET /api/v1/productsProdukte des aktuellen Release mit der Verfügbarkeitsliste der Referenz und den Angaben des Aufsichtsregisters. Filter mit category.
GET /api/v1/products/{category}/{product}Ein Produkt mit seiner Verfügbarkeit.
GET /api/v1/products/{category}/{product}/historyDie Bewertungsstände eines Produkts in jedem angenommenen Release, ältester zuerst, mit den erfassten Punkteänderungen und ihren Gründen.
GET /api/v1/ratingsBewertungen nach der veröffentlichten Methodik: Gesamtwert unter der Standardgewichtung, Konfidenz und jeder Kriterienwert mit Begründung und Beleg-IDs. Mit release für ein früheres Release, mit category als Filter.
GET /api/v1/ratings/{category}/{product}Die Bewertung eines Produkts im aktuellen oder in einem benannten Release.
GET /api/v1/glossaryGlossarbegriffe: der englische Haupttext und die veröffentlichten Übersetzungen.
GET /api/v1/glossary/{id}Ein Glossarbegriff.
GET /api/v1/incidentsSouveränitätsvorfälle mit Daten, Rechtsräumen, Arten, betroffenen Geldformen und Quellen. Filter mit kind und jurisdiction.
GET /api/v1/incidents/{id}Ein Vorfall.
GET /api/v1/seriesDie Datenreihen, deren Quelllizenz die Weiterverbreitung erlaubt, mit Quelle, Lizenz und Quellenangabe.
GET /api/v1/series/{id}Eine Reihe mit ihren Beobachtungen: die neuesten Werte oder mit vintage die Werte nach damaligem Kenntnisstand; from und to begrenzen die Perioden.
GET /api/v1/countriesDie Daten der Länderseiten: Zahl der Registerangaben, CBDC-Status, Bargeld-Index und Vorfall-IDs.
GET /api/v1/countries/{code}Ein Land nach ISO-Code.

Reihen, deren Lizenz keine Weitergabe erlaubt, zeigt die Website, die API liefert sie nie aus.

Schnellstart

Senden Sie eine GET-Anfrage. Für den offenen Tarif braucht es weder Registrierung noch Schlüssel.

Beispielanfragen

curl -s https://whatthechain.org/api/v1/openapi.json
curl -s "https://whatthechain.org/api/v1/ratings?category=hardware-wallets&limit=20"
curl -s https://whatthechain.org/api/v1/products/hardware-wallets/<product>/history
curl -s "https://whatthechain.org/api/v1/series/<series-id>?vintage=2026-01-31T00:00:00Z"
curl -s -H 'If-None-Match: "<etag>"' https://whatthechain.org/api/v1/categories

Listen liefern eine Seite von Einträgen, sortiert nach ID. Für die nächste Seite übergeben Sie den Wert von pagination.next_cursor als Parameter cursor, bis er null ist.

Lizenzangaben in jeder Antwort

Jede Antwort enthält neben den Daten vier Felder: licence (Name und Link), attribution (der Text, der mit den Daten zu zeigen ist), release (Tag und Erstellungsdatum des Referenz-Release, aus dem gelesen wurde) und wording_notice.

Referenzdaten (Bewertungen, Methodik, Glossar, Vorfälle) stehen unter der Open-Data-Lizenz der Referenz-Releases, Creative Commons Namensnennung 4.0 International (CC BY 4.0). Das Feld licence nennt sie und verlinkt ihren Text.

Eine Datenreihe trägt Lizenz und Quellenangabe ihrer Quelle, wie das Quellenregister sie angibt. Reihen, deren Quelle keine Weiterverbreitung erlaubt, erscheinen nie in der API: Sie werden nur als Diagramme auf der Website gezeigt. Für Länderdaten gilt dieselbe Regel: Ein Wert, dessen Quelle keine Weiterverbreitung erlaubt, ist als withheld markiert.

Fehlende Werte sind null, nie 0. Ein nicht bewertetes Kriterium hat den Wert null.

Wie Bewertungen darzustellen sind

Bewertungen sind Messungen nach einer veröffentlichten Methodik, keine Beratung. Wer sie zeigt, schreibt „bewertet von WhatTheChain gemäß der veröffentlichten Methodik“, nennt Methodenversion und Release und verlinkt die Methodik.

Eine Bewertung darf nicht als Beratung, als Auswahl für bestimmte Leser oder als Aussage über künftige Preise dargestellt werden. Das Feld wording_notice in jeder Antwort wiederholt diese Pflicht.

Diese Bedingungen werden rechtlich geprüft und können sich ändern; es gilt die Fassung auf dieser Seite.

Caching, ETags und CORS

Jede erfolgreiche Antwort hat einen ETag. Senden Sie ihn als If-None-Match zurück, erhalten Sie 304 Not Modified ohne Inhalt, solange sich die Daten nicht geändert haben.

Aktuelle Daten sind fünf Minuten cachebar; ein benanntes früheres Release oder ein früherer Datenstand ändert sich nie und ist einen Tag cachebar. Die API antwortet jedem Ursprung (CORS *), Browser können sie also direkt aufrufen.

Wird beim Blättern durch eine Liste ein neues Release aktiviert, antwortet die API mit 409 und dem Code stale_cursor: Beginnen Sie wieder mit der ersten Seite.

Ratenlimits

Jede Antwort meldet das Zeitfenster des Aufrufers in den Headern RateLimit-Limit, RateLimit-Remaining und RateLimit-Reset (Sekunden). Ist das Limit erreicht, antwortet die API mit 429 und Retry-After.

  • Ohne Schlüssel

    Offen (ohne Schlüssel)

    • 60 Anfragen pro 60 Sekunden
    • Gezählt pro: Client-Adresse
    • Jede Ressource, dieselben Daten wie in jeder Stufe
  • Mit Schlüssel

    Developer

    • 600 Anfragen pro 60 Sekunden
    • Gezählt pro: API-Schlüssel (ein Schlüssel kann ein eigenes Limit haben)
    • Jede Ressource, dieselben Daten wie in jeder Stufe
    • Webhooks für Releases, Bewertungsänderungen und Vorfälle
  • Mit Schlüssel

    Business

    • 3000 Anfragen pro 60 Sekunden
    • Gezählt pro: API-Schlüssel (ein Schlüssel kann ein eigenes Limit haben)
    • Jede Ressource, dieselben Daten wie in jeder Stufe
    • Webhooks für Releases, Bewertungsänderungen und Vorfälle
  • Mit Schlüssel

    Enterprise

    • 12000 Anfragen pro 60 Sekunden
    • Gezählt pro: API-Schlüssel (ein Schlüssel kann ein eigenes Limit haben)
    • Jede Ressource, dieselben Daten wie in jeder Stufe
    • Webhooks für Releases, Bewertungsänderungen und Vorfälle

Eine Regel für jede Stufe

Bewertungen erscheinen als „bewertet von WhatTheChain“, mit Methodenversion und Release. Keine Stufe hat einen Preis, und ein Schlüssel ändert nie, was die API liefert.

Ein Schlüssel wird als Authorization: Bearer gefolgt vom Schlüssel gesendet. Jeder Tarif liest dieselben Daten.

API-Schlüssel

Jede Ressource ist auf der offenen Stufe kostenlos, ohne Schlüssel. Ein Schlüssel hebt das Ratenlimit an; er schaltet keine Daten frei, und nichts hat einen Preis.

Stufen: offen (ohne Schlüssel, gezählt je Client-Adresse), Developer, Business und Enterprise (gezählt je Schlüssel).

Senden Sie den Schlüssel als Bearer-Token im Authorization-Header. Er wird bei der Ausstellung einmal angezeigt: Halten Sie ihn geheim und bitten Sie uns um Rotation oder Widerruf, falls er bekannt wird.

Schlüsselinhaber können zudem Webhooks zu veröffentlichten Releases, geänderten Ratings und hinzugefügten Vorfällen erhalten, signiert nach der Standard-Webhooks-Spezifikation.

Für einen Schlüssel schreiben Sie uns mit Ihrem Namen, einer Kontaktadresse und dem, was Sie bauen. Schlüssel stellt unser Team aus. Schlüssel anfragen

Fehler

Fehler sind RFC-9457-Problem-Details (application/problem+json) mit type, title, status, detail und einem stabilen code.

Fehler
CodeBedeutung
not_foundDie Ressource oder die ID existiert nicht. Eine unbekannte Reihe und eine nicht weiterverbreitbare Reihe antworten gleich.
invalid_parameterEin Abfrageparameter hat einen ungültigen Wert.
invalid_cursorDer Cursor stammt nicht von der API.
stale_cursorBeim Blättern wurde ein neues Release aktiviert; beginnen Sie wieder mit der ersten Seite.
rate_limitedDas Limit des Tarifs ist erreicht; warten Sie die Sekunden aus Retry-After.
unauthorizedDie Anfrage konnte nicht authentifiziert werden.
forbiddenDer Schlüssel darf diese Ressource nicht lesen.
unavailableDer Dienst ist vorübergehend nicht verfügbar.
internal_errorDie Anfrage konnte nicht beantwortet werden; versuchen Sie es später erneut.
invalid_authorizationDer Authorization-Header hat nicht die Form Bearer gefolgt von einem Schlüssel.
invalid_api_keyDer Schlüssel ist unbekannt, widerrufen oder abgelaufen. Anfragen ohne Schlüssel nutzen den offenen Tarif.
insufficient_scopeDer Schlüssel hat nicht den Scope read.