Métriques quotidiennes on-chain des actions tokenisées avec la Data API

Intégrez l'activité des actions tokenisées sur Robinhood Chain avec une API key : GET /v1/data/robinhood_mainnet/stocks renvoie un classement quotidien, et /stocks/{token} renvoie les métriques quotidiennes récentes ; le classement ne comporte pas de pagination par curseur. Ce sont des métriques d'activité on-chain, non des cours d'actions.

Les données proviennent des registres publics on-chain et sont fournies à titre informatif uniquement. Elles ne constituent pas un conseil en investissement.

Pour le déploiement de contrats et l'écoute d'événements sur Robinhood Chain, suivez le guide RPC et WebSocket.

  • Première étape : Lire le dernier bloc sans API key à l'aide de la commande curl ci-dessous.
  • Terminé quand : La requête authentifiée sur les actions renvoie data et meta ; les enregistrements disponibles incluent day, token, transfers et holder_count, tandis que data: [] signifie qu'aucun enregistrement d'activité n'est disponible.

Paramètres du mainnet et jeux de données.

Tâche en trois étapes : interroger l'activité des actions sur Robinhood Chain

Trouvez les actions tokenisées les plus actives lors du dernier jour UTC enregistré, puis lisez leur nombre de transferts et leur nombre de détenteurs.

Utilisez une seule API key pour interroger l'activité des tokens d'actions et les détenteurs sur le mainnet pour un tableau de bord d'activité. Ce sont des métriques d'activité on-chain, non des cours d'actions.

1. Lire le dernier bloc sans API key

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":[]}'

Le result JSON-RPC est le dernier numéro de bloc en hexadécimal. Cet appel RPC public ne nécessite aucune clé ; la requête Data API de l'étape 3 en requiert une.

2. Créer une clé pour la même chaîne

Connectez-vous à la console et ouvrez Clés API. Créez une clé et enregistrez le secret affiché dans la boîte de dialogue. La même clé fonctionne pour JSON-RPC et la Data API sur robinhood_mainnet.

Pour un agent IA utilisant HTTP sans navigateur, suivez le guide d'inscription programmatique pour vous inscrire avec une signature de portefeuille Ethereum et créer une clé ; ne demandez pas à l'utilisateur de coller la clé dans le chat.

3. Interroger l'activité des actions avec votre clé

Remplacez replace-with-your-key ci-dessous par votre clé enregistrée, puis exécutez la commande sur votre serveur ou dans un terminal local. Omettre day sélectionne le dernier jour enregistré ; limit=5 renvoie jusqu'à cinq actions ordonnées par activité de transfert décroissante.

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"

Lisez ces champs dans la réponse :

ChampSignification
data[].dayDate UTC des métriques quotidiennes.
data[].tokenAdresse du contrat de token d'action renvoyée par la requête.
data[].symbolSymbole du jeton.
data[].transfersNombre de transferts on-chain sur cette journée.
data[].holder_countNombre total d'adresses détentrices.
meta.as_of_blockSommet indexé actuel, plutôt que la hauteur de bloc de l'instantané des métriques quotidiennes.
meta.refreshed_atHeure de mise à jour de l'instantané ; considérez les données comme obsolètes si ce champ est null.

Un tableau data vide signifie qu'aucun enregistrement d'activité n'est disponible. Pour inspecter une action à partir du résultat, utilisez sa valeur token avec GET /robinhood_mainnet/stocks/{token} comme décrit ci-dessous.

Qu'est-ce que le jeu de données des actions tokenisées

La Data API de BlockVectra fournit des métriques quotidiennes on-chain et des métadonnées pour les actions tokenisées. Ce jeu de données agrège les transferts quotidiens, les émissions (mints), les destructions (burns), les variations nettes d'offre, la distribution des détenteurs et les métriques de trading sur les plateformes d'échange décentralisées (DEX), permettant aux développeurs de suivre l'activité publique des actions tokenisées.

Pour les chaînes proposant ce jeu de données, consultez la page des Chaînes prises en charge.

  • URL de base : https://api.blockvectra.com/v1/data — à l'exception de GET /chains, toutes les routes de la Data API sont préfixées par un identifiant de chaîne (ex. https://api.blockvectra.com/v1/data/{chain}/…)
  • Exemple de chaîne : robinhood_mainnet (utilisé comme exemple de paramètre de chemin ; consultez les Chaînes prises en charge pour connaître toutes les chaînes proposant ce jeu de données)
  • Authentification : fournissez votre API key dans l'en-tête de requête x-api-key: $BLOCKVECTRA_API_KEY
  • Facturation et couverture : mesuré en Compute Units (CU) ; seules les réponses réussies 2xx sont facturées. Si une chaîne ne dispose pas de couverture pour les actions, le point de terminaison renvoie HTTP 422 no_coverage (non facturé)

Classement quotidien (GET /{chain}/stocks)

Le point de terminaison GET /{chain}/stocks renvoie un classement de l'activité quotidienne des actions tokenisées pour une date UTC spécifiée, incluant les métadonnées d'affichage (symbole, nom, etc.), ordonnées par activité de transfert décroissante (jetons les plus actifs en premier).

Paramètres de requête

  • {chain} (paramètre de chemin, obligatoire) : identifiant de chaîne (par exemple, robinhood_mainnet).
  • day (paramètre de requête, optionnel) : date du calendrier UTC au format YYYY-MM-DD. En cas d'omission, correspond par défaut au dernier jour enregistré (si aucune activité n'est enregistrée, renvoie 200 avec data: []). Si fourni mais non valide au format de calendrier YYYY-MM-DD, renvoie HTTP 400 (error.code = "bad_request").
  • limit (paramètre de requête, optionnel) : plafonne le nombre d'enregistrements renvoyés. Par défaut à 50 ; les valeurs supérieures à 500 sont limitées à 500 ; passer 0 ou un nombre non entier renvoie HTTP 400 (error.code = "bad_request").

Comportement de pagination

Ce point de terminaison n'est pas paginé. Le paramètre limit plafonne le nombre maximal d'enregistrements renvoyés. Dans l'enveloppe globale StockDailyListEnvelope (data et meta), les points de terminaison des actions ne renvoient pas next_cursor (la clé est totalement absente, jamais null).

Exemples de code

Modèle de démarrage complet sur Robinhood Chain : blockvectra/robinhood-stock-tokens

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

Structure de réponse

L'enveloppe de réponse est StockDailyListEnvelope, contenant data et meta :

  • data (tableau) : une liste d'enregistrements du classement quotidien (StockDaily), ordonnée par activité de transfert décroissante (jetons les plus actifs en premier). Chaque élément inclut les identifiants du jeton (token, symbol, name), l'activité de transfert (transfers, unique_senders, unique_receivers), les métriques d'offre (mint_raw_amount, burn_raw_amount, net_supply_change), les métriques de distribution (holder_count, top10_holder_share_bps), les métriques de trading DEX (dex_swap_count, dex_raw_volume) et l'horodatage de rafraîchissement (refreshed_at).
  • meta (objet) : métadonnées de la chaîne (chain, chain_slug, chain_external_id, as_of_block, safe_block, finalized_block, coverage, refreshed_at). meta.refreshed_at peut être null : null signifie que l'heure de mise à jour de ces données est inconnue et qu'elles doivent être traitées comme obsolètes ; les points de terminaison basés sur les blocs renvoient toujours une valeur.

Obtenir une action tokenisée (GET /{chain}/stocks/{token})

Le point de terminaison GET /{chain}/stocks/{token} récupère les métadonnées et jusqu'à 30 jours de métriques quotidiennes récentes pour une action tokenisée spécifique via son adresse de jeton.

Paramètres de requête

  • {chain} (paramètre de chemin, obligatoire) : identifiant de chaîne (par exemple, robinhood_mainnet).
  • {token} (paramètre de chemin, obligatoire) : adresse du contrat de jeton sur 20 octets ; le préfixe 0x est optionnel et les majuscules/minuscules sont acceptées (les adresses renvoyées sont normalisées avec 0x suivi de 40 chiffres hexadécimaux minuscules). Un format d'adresse non valide renvoie HTTP 400 (error.code = "bad_request").
  • Si {token} n'est pas une action tokenisée connue, renvoie HTTP 404 (error.code = "not_found"). Si {chain} est une chaîne inconnue, renvoie HTTP 404 (error.code = "unknown_chain").

Exemples de code

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

Structure de réponse

L'enveloppe de réponse est StockTokenEnvelope, contenant data et meta :

  • data (objet) : un objet StockToken contenant les métadonnées du contrat de jeton (address, symbol, name, decimals, created_block, created_tx_hash, factory, creator, mint_address, burn_address, refreshed_at) et un tableau de métriques quotidiennes récentes daily.
    • daily (tableau) : un tableau de métriques quotidiennes récentes (StockDailyMetric), jusqu'à 30 jours, ordonné par date décroissante (plus récent en premier). Chaque élément quotidien partage le même schéma de métriques que le classement ci-dessus (sans les champs redondants token, symbol et name).
  • meta (objet) : objet de métadonnées de chaîne conforme à la réponse du classement.

Explication des champs de retour clés

Champs des métriques quotidiennes (StockDaily et StockDailyMetric)

Le classement ainsi que les éléments quotidiens historiques d'un jeton unique incluent les champs principaux suivants :

ChampTypeDescription
daystring (date)Date d'agrégation UTC formatée en YYYY-MM-DD.
tokenstring (address)Adresse du contrat de jeton (présente uniquement dans le classement StockDaily), 40 caractères hexadécimaux minuscules avec le préfixe 0x.
symbolstringSymbole du jeton (par exemple, "EXMPL").
namestringNom d'affichage du jeton ; chaîne vide "" lorsqu'aucune métadonnée de nom correspondante n'est disponible.
transfersinteger (int64)Nombre total de transferts on-chain au cours de cette journée UTC.
unique_sendersinteger (int64)Nombre d'adresses d'expéditeurs uniques ayant initié des transferts ce jour-là.
unique_receiversinteger (int64)Nombre d'adresses de destinataires uniques ayant reçu des transferts ce jour-là.
mint_raw_amountstring (decimal)Montant brut total de jetons émis ce jour-là.
burn_raw_amountstring (decimal)Montant brut total de jetons détruits ce jour-là.
net_supply_changestring (decimal)Variation nette de l'offre ce jour-là (chaîne décimale signée, peut être négative).
holder_countinteger (int64)Nombre total d'adresses détentrices.
top10_holder_share_bpsintegerPart des 10 principaux détenteurs en points de base (0–10000, 1 bps = 0,01%).
dex_swap_countinteger (int64)Nombre de swaps DEX impliquant ce jeton ce jour-là.
dex_raw_volumestring (decimal)Volume brut total d'échanges sur DEX ce jour-là.
refreshed_atstring (timestamp)Horodatage UTC ISO-8601 de la dernière mise à jour de cet enregistrement quotidien.

Champs de métadonnées du jeton (StockToken)

Lors de l'interrogation d'un seul jeton, l'objet externe data contient les métadonnées du contrat et les métriques quotidiennes récentes :

ChampTypeDescription
addressstring (address)Adresse du contrat de jeton.
symbolstringSymbole du jeton.
namestringNom complet du jeton.
decimalsinteger ou nullDécimales du jeton (0–255), ou null si non disponible.
created_blockinteger (int64)Numéro de bloc dans lequel le contrat de jeton a été créé.
created_tx_hashstring (hash)Hash de transaction de création du contrat, 64 caractères hexadécimaux minuscules avec le préfixe 0x.
factorystring (address)Adresse du contrat factory.
creatorstring (address) ou nullAdresse du créateur, ou null si non disponible.
mint_addressstring (address) ou nullAdresse d'émission (mint), ou null si non disponible.
burn_addressstring (address) ou nullAdresse de destruction (burn), ou null si non disponible.
dailyarrayTableau de métriques quotidiennes récentes (StockDailyMetric), jusqu'à 30 jours, ordonné par date décroissante (plus récent en premier).
refreshed_atstring (timestamp)Horodatage UTC ISO-8601 de la dernière mise à jour des métadonnées du jeton.

Conventions d'encodage

L'API respecte des règles d'encodage strictes sur tous les points de terminaison afin de préserver la précision numérique et la cohérence :

  • Sécurité financière (Money-safety) : toute valeur pouvant dépasser 2^53 (entiers de 256 bits tels que mint_raw_amount, burn_raw_amount, net_supply_change et dex_raw_volume) est sérialisée sous forme de chaîne décimale, jamais comme nombre JSON et jamais en notation scientifique ou hexadécimale. Cela évite les pertes de précision dans les environnements d'exécution tels que JavaScript. En JavaScript/TypeScript, analysez avec BigInt(str) (par exemple const net = BigInt(body.data.daily[0].net_supply_change)) ; en Python, analysez avec int(str). Les compteurs restant bien en deçà de 2^53 (transfers, unique_senders, unique_receivers, holder_count, top10_holder_share_bps, dex_swap_count, created_block) sont de simples nombres JSON.
  • Valeurs binaires et hexadécimales : les adresses sont composées de 0x suivi de 40 caractères hexadécimaux minuscules ; les hashs sont composés de 0x suivi de 64 caractères hexadécimaux minuscules. Toutes les valeurs hexadécimales renvoyées sont strictement en minuscules.
  • Horodatages et dates : les horodatages tels que refreshed_at utilisent YYYY-MM-DDTHH:MM:SSZ (ISO-8601 UTC avec précision à la seconde). Les agrégats quotidiens (day) utilisent de simples dates de calendrier (YYYY-MM-DD).

Estimation de consommation (actualisation quotidienne de 50 tokens)

Les requêtes de la Data API consomment des Compute Units (CU) selon les pondérations de méthodes de la plateforme. L'estimation ci-dessous évalue un scénario où 50 jetons appellent chacun GET /{chain}/stocks/{token} une fois par jour, calculée par rapport aux pondérations de méthodes actives :

  • Poids de la méthode par appel : Chaque appel data.stock consomme 15 CU (prix catalogue de $1.50 par million d'appels).
  • Actualisation quotidienne de 50 tokens (un appel GET /{chain}/stocks/{token} par token, 50 appels/jour) : La consommation quotidienne est de 750 CU ; sur un cycle de 30 jours, cela totalise 1,500 appels consommant 22,500 CU, soit environ <0.1% du quota gratuit (30,000,000 CU). En cas de dépassement du quota gratuit ou sur un forfait payant, l'utilisation totale au prix catalogue est d'environ <$0.01/mois.

Démarrage et mise à niveau

Le quota gratuit est idéal pour le développement, les tests et les charges de travail légères. Lorsque votre trafic augmente et nécessite une concurrence plus élevée ou davantage d'unités de calcul, rechargez on-chain sur la page Facturation de la console ; une fois la transaction confirmée on-chain et créditée, le plafond d'appels par seconde au niveau du compte est supprimé. Chaque clé reste soumise aux limites de débit en CU et de burst, comme décrit dans la documentation JSON-RPC. Tous les crédits gratuits inutilisés restent dans vos crédits et peuvent toujours être utilisés. Pour connaître les tarifs et unités de facturation actuels, veuillez consulter la page Tarifs.

Étapes suivantes

Dernière mise à jour :

Sur cette page