Ежедневные ончейн-метрики токенизированных акций с помощью Data API
Интегрируйте данные об активности токенизированных акций в Robinhood Chain с помощью API key: GET /v1/data/robinhood_mainnet/stocks возвращает ежедневный лидерборд, а /stocks/{token} — недавние ежедневные метрики; в лидерборде нет пагинации по курсору. Это ончейн-метрики активности, а не биржевые котировки.
Данные получены из публичных ончейн-записей и предоставляются исключительно в ознакомительных целях. Они не являются инвестиционной рекомендацией.
Развертывание контрактов и прослушивание событий в Robinhood Chain описаны в руководстве по RPC и WebSocket.
- Первый шаг: Прочитайте последний блок без API key, используя команду curl ниже.
- Критерий завершения: авторизованный запрос акций возвращает
dataиmeta; доступные записи включаютday,token,transfersиholder_count, тогда какdata: []означает отсутствие записей об активности.
Параметры mainnet и наборы данных.
Задача из трех шагов: запрос активности акций в Robinhood Chain
Найдите наиболее активные токенизированные акции за последний зафиксированный день по UTC, затем прочитайте количество их переводов и число держателей.
Используйте один API key для запроса активности токенов акций и держателей в mainnet для дашборда активности. Это ончейн-метрики активности, а не биржевые котировки.
1. Чтение последнего блока без 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":[]}'Результат JSON-RPC result содержит номер последнего блока в шестнадцатеричном формате. Этот публичный вызов RPC не требует ключа; для запроса Data API на шаге 3 ключ потребуется.
2. Создание ключа для той же сети
Войдите в консоль и откройте раздел API Keys. Создайте ключ и сохраните секрет, показанный в диалоговом окне. Тот же ключ работает для JSON-RPC и Data API в robinhood_mainnet.
Для AI Agent, использующего HTTP без браузера, следуйте руководству по программной регистрации, чтобы зарегистрироваться с помощью подписи кошелька Ethereum и создать ключ; не просите пользователя вставлять ключ в чат.
3. Запрос активности акций с помощью ключа
Замените replace-with-your-key ниже на ваш сохраненный ключ, затем выполните команду на сервере или в локальном терминале. Пропуск параметра day выбирает последний зафиксированный день; limit=5 возвращает до пяти акций, отсортированных по убыванию активности переводов.
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"Обратите внимание на следующие поля в ответе:
| Поле | Значение |
|---|---|
data[].day | Дата метрик за день по UTC. |
data[].token | Адрес контракта токена акции, возвращенный запросом. |
data[].symbol | Символ токена. |
data[].transfers | Количество ончейн-переводов за этот день. |
data[].holder_count | Общее количество адресов держателей. |
meta.as_of_block | Текущая индексированная вершина, а не высота блока снимка ежедневных метрик. |
meta.refreshed_at | Время обновления снимка; считайте данные устаревшими, если значение равно null. |
Пустой массив data означает отсутствие доступных записей об активности. Чтобы просмотреть конкретную акцию из результата, используйте ее значение token в запросе GET /robinhood_mainnet/stocks/{token}, как описано ниже.
Что такое набор данных токенизированных акций
BlockVectra Data API предоставляет ежедневные ончейн-метрики и метаданные для токенизированных акций. Этот набор данных агрегирует ежедневные переводы, выпуски (mint), сжигания (burn), чистые изменения предложения, распределение держателей и торговые метрики на децентрализованных биржах (DEX), позволяя разработчикам отслеживать публичную активность токенизированных акций.
Сети, предоставляющие этот набор данных, см. на странице Поддерживаемые сети.
- Базовый URL:
https://api.blockvectra.com/v1/data— за исключениемGET /chains, все маршруты Data API имеют префикс идентификатора сети (например,https://api.blockvectra.com/v1/data/{chain}/…) - Пример сети:
robinhood_mainnet(используется в качестве примера параметра пути; проверьте Поддерживаемые сети для получения полного списка сетей с этим набором данных) - Аутентификация: укажите ваш API key в заголовке запроса
x-api-key: $BLOCKVECTRA_API_KEY - Тарификация и покрытие: тарифицируется в Compute Units (CU); оплачиваются только успешные ответы 2xx. Если в сети нет покрытия акций, эндпоинт возвращает HTTP
422 no_coverage(не тарифицируется)
Ежедневный лидерборд (GET /{chain}/stocks)
Эндпоинт GET /{chain}/stocks возвращает ежедневный лидерборд активности токенизированных акций на указанную дату по UTC, включая метаданные для отображения (символ, название и т. д.), отсортированный по убыванию активности переводов (наиболее активные токены первыми).
Параметры запроса
{chain}(параметр пути, обязательный): идентификатор сети (например,robinhood_mainnet).day(параметр запроса, необязательный): календарная дата по UTC в форматеYYYY-MM-DD. Если опущен, по умолчанию выбирается последний зафиксированный день (если активности не зафиксировано, возвращает200сdata: []). Если указан, но не является допустимой календарной датойYYYY-MM-DD, возвращает HTTP400(error.code = "bad_request").limit(параметр запроса, необязательный): ограничивает количество возвращаемых записей. По умолчанию 50; значения выше 500 ограничиваются 500; передача0или нецелого числа возвращает HTTP400(error.code = "bad_request").
Поведение пагинации
Этот эндпоинт не использует пагинацию. Параметр limit ограничивает максимальное количество возвращаемых записей. В результирующей структуре StockDailyListEnvelope (data и meta) эндпоинты акций не возвращают next_cursor (этот ключ полностью отсутствует, а не равен null).
Примеры кода
Полный стартовый шаблон для 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"Структура ответа
Контейнер ответа представляет собой StockDailyListEnvelope, содержащий data и meta:
data(массив): список записей ежедневного лидерборда (StockDaily), отсортированный по убыванию активности переводов (наиболее активные токены первыми). Каждый элемент содержит идентификаторы токена (token,symbol,name), активность переводов (transfers,unique_senders,unique_receivers), метрики предложения (mint_raw_amount,burn_raw_amount,net_supply_change), метрики распределения (holder_count,top10_holder_share_bps), торговые метрики DEX (dex_swap_count,dex_raw_volume) и временную метку обновления (refreshed_at).meta(объект): метаданные сети (chain,chain_slug,chain_external_id,as_of_block,safe_block,finalized_block,coverage,refreshed_at). Полеmeta.refreshed_atможет бытьnull:nullозначает, что время обновления этих данных неизвестно и их следует считать устаревшими; эндпоинты на основе блоков всегда возвращают значение.
Получение информации об одной токенизированной акции (GET /{chain}/stocks/{token})
Эндпоинт GET /{chain}/stocks/{token} получает метаданные и до 30 дней недавних ежедневных метрик для конкретной токенизированной акции по адресу ее токена.
Параметры запроса
{chain}(параметр пути, обязательный): идентификатор сети (например,robinhood_mainnet).{token}(параметр пути, обязательный): 20-байтовый адрес контракта токена; префикс0xнеобязателен, принимается любой регистр (возвращаемые адреса нормализуются к префиксу0xи 40 строчным шестнадцатеричным символам). Недопустимый формат адреса возвращает HTTP400(error.code = "bad_request").- Если
{token}не является известной токенизированной акцией, возвращается HTTP404(error.code = "not_found"). Если{chain}— неизвестная сеть, возвращается HTTP404(error.code = "unknown_chain").
Примеры кода
curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/stocks/0x1111111111111111111111111111111111111111" \
-H "x-api-key: $BLOCKVECTRA_API_KEY"Структура ответа
Контейнер ответа представляет собой StockTokenEnvelope, содержащий data и meta:
data(объект): объектStockToken, содержащий метаданные контракта токена (address,symbol,name,decimals,created_block,created_tx_hash,factory,creator,mint_address,burn_address,refreshed_at) и массив недавних ежедневных метрикdaily.daily(массив): массив недавних ежедневных метрик (StockDailyMetric), до 30 дней, отсортированный по дате по убыванию (сначала самые новые). Каждый ежедневный элемент имеет ту же схему метрик, что и лидерборд выше (без избыточных полейtoken,symbolиname).
meta(объект): объект метаданных сети, согласованный с ответом лидерборда.
Описание ключевых возвращаемых полей
Поля ежедневных метрик (StockDaily и StockDailyMetric)
Как лидерборд, так и исторические ежедневные элементы отдельного токена включают следующие основные поля:
| Поле | Тип | Описание |
|---|---|---|
day | string (date) | Дата агрегации по UTC в формате YYYY-MM-DD. |
token | string (address) | Адрес контракта токена (присутствует только в лидерборде StockDaily), 40 строчных шестнадцатеричных символов с префиксом 0x. |
symbol | string | Символ токена (например, "EXMPL"). |
name | string | Отображаемое имя токена; пустая строка "", если метаданные имени недоступны. |
transfers | integer (int64) | Общее количество ончейн-переводов за этот день по UTC. |
unique_senders | integer (int64) | Количество уникальных адресов отправителей, инициировавших переводы в этот день. |
unique_receivers | integer (int64) | Количество уникальных адресов получателей, получивших переводы в этот день. |
mint_raw_amount | string (decimal) | Общее исходное количество токенов, выпущенных за этот день. |
burn_raw_amount | string (decimal) | Общее исходное количество токенов, сожженных за этот день. |
net_supply_change | string (decimal) | Чистое изменение предложения за этот день (десятичная строка со знаком, может быть отрицательной). |
holder_count | integer (int64) | Общее количество адресов держателей. |
top10_holder_share_bps | integer | Доля топ-10 держателей в базисных пунктах (0–10000, 1 б. п. = 0.01%). |
dex_swap_count | integer (int64) | Количество DEX-свопов с участием этого токена за этот день. |
dex_raw_volume | string (decimal) | Общий исходный объем торгов на DEX за этот день. |
refreshed_at | string (timestamp) | Временная метка ISO-8601 UTC последнего обновления этой ежедневной записи. |
Поля метаданных токена (StockToken)
При запросе отдельного токена внешний объект data содержит метаданные контракта и недавние ежедневные метрики:
| Поле | Тип | Описание |
|---|---|---|
address | string (address) | Адрес контракта токена. |
symbol | string | Символ токена. |
name | string | Полное имя токена. |
decimals | integer or null | Десятичные знаки токена (0–255) или null, если недоступно. |
created_block | integer (int64) | Номер блока, в котором был создан контракт токена. |
created_tx_hash | string (hash) | Хеш транзакции создания контракта, 64 строчных шестнадцатеричных символа с префиксом 0x. |
factory | string (address) | Адрес контракта фабрики. |
creator | string (address) or null | Адрес создателя или null, если недоступно. |
mint_address | string (address) or null | Адрес выпуска (mint) или null, если недоступно. |
burn_address | string (address) or null | Адрес сжигания (burn) или null, если недоступно. |
daily | array | Массив недавних ежедневных метрик (StockDailyMetric), до 30 дней, отсортированный по дате по убыванию (сначала самые новые). |
refreshed_at | string (timestamp) | Временная метка ISO-8601 UTC последнего обновления метаданных токена. |
Соглашения о кодировании
API соблюдает строгие правила кодирования на всех эндпоинтах для сохранения числовой точности и согласованности:
- Безопасность финансовых вычислений (Money-safety): любое значение, которое может превышать
2^53(256-битные целые числа, такие какmint_raw_amount,burn_raw_amount,net_supply_changeиdex_raw_volume), сериализуется как десятичная строка, а не как число JSON и не в экспоненциальной или шестнадцатеричной нотации. Это предотвращает потерю точности в средах выполнения вроде JavaScript. В JavaScript/TypeScript выполняйте парсинг с помощьюBigInt(str)(например,const net = BigInt(body.data.daily[0].net_supply_change)); в Python — с помощьюint(str). Счетчики, гарантированно остающиеся значительно ниже2^53(transfers,unique_senders,unique_receivers,holder_count,top10_holder_share_bps,dex_swap_count,created_block), являются обычными числами JSON. - Двоичные и шестнадцатеричные значения: адреса представляют собой
0xи 40 строчных шестнадцатеричных символов; хеши —0xи 64 строчных шестнадцатеричных символа. Все возвращаемые шестнадцатеричные значения строго в нижнем регистре. - Временные метки и даты: временные метки, такие как
refreshed_at, используют форматYYYY-MM-DDTHH:MM:SSZ(ISO-8601 UTC с точностью до секунд). Ежедневные агрегированные показатели (day) используют стандартные календарные даты (YYYY-MM-DD).
Оценка расхода (ежедневное обновление 50 токенов)
Запросы к Data API расходуют Compute Units (CU) в соответствии с весами методов платформы. Приведенная ниже оценка рассматривает сценарий, в котором 50 токенов вызывают GET /{chain}/stocks/{token} один раз в день, рассчитанный по действующим весам методов:
- Вес метода за вызов: Каждый вызов
data.stockпотребляет 15 CU (базовая цена $1.50 за 1M вызовов). - Ежедневное обновление 50 токенов (один вызов
GET /{chain}/stocks/{token}на токен, 50 вызовов/день): Ежедневное потребление составляет 750 CU; за цикл из 30 дней это в сумме 1,500 вызовов с потреблением 22,500 CU, что составляет около <0.1% бесплатного лимита (30,000,000 CU). Если превышен бесплатный лимит или используется платный тариф, общая стоимость по базовой цене составит около <$0.01/месяц.
Начало работы и переход на платный тариф
Бесплатная квота идеально подходит для разработки, тестирования и небольших рабочих нагрузок. Когда объем трафика вырастет и потребуется более высокий параллелизм или больше вычислительных единиц, выполните ончейн-пополнение в консоли на странице Billing; после ончейн-подтверждения и зачисления лимит вызовов в секунду для всего аккаунта снимается. Для каждого ключа продолжают действовать лимиты скорости CU и лимиты всплесков, как описано в документации JSON-RPC. Все неиспользованные Free Credits остаются на балансе Credits и могут быть использованы. Актуальные тарифы и расчетные единицы см. на странице Цены.
Следующие шаги
- Изучите каталог наборов данных, чтобы увидеть все наборы данных, индексируемые BlockVectra.
- Ознакомьтесь с бесплатным тарифом и ценами, чтобы узнать, что включено в ваш аккаунт.
- Войдите в консоль, чтобы создать API key.
Последнее обновление:
Мультипликатор токенов акций
Узнайте, как работает мультипликатор токенов акций Robinhood Chain, как конвертировать балансы в акции, считывать uiMultiplier через eth_call и отслеживать держателей и ежедневную активность через Data API.
Трейсы транзакций
Восстановление деревьев вызовов исполнения транзакции: метод JSON-RPC debug_traceTransaction с разрешенными трассировщиками и проверками, а также эндпоинты Data API getTransactionTrace и getBlockTraces с границами их покрытия.