API и MCP
Публичные данные Robinhood Chain (4663). Доступ только для чтения, без ключа и кошелька. API и MCP используют сохранённые данные того же сборщика, что и сайт.
OpenAPI 3.1 · машиночитаемая схема · Источники и свежесть данных
API
| GET | Результат |
|---|---|
| /api/v1/pools | Пулы и рынки площадок |
| /api/v1/merkl | Дополнительные награды Merkl и сроки |
| /api/v1/revert | Выборка позиций Revert |
| /api/v1/pool?id=… | Все поля конкретного пула, программы или позиции |
| /api/v1/history?id=… | Последние 10 наблюдений, от старых к новым |
| /api/v1/sources | Площадки, количество пулов, покрытие и ошибки источников |
Пример: стейблы и RWA с TVL от $10 000
curl --get 'https://robinhood.craby.fun/api/v1/pools' \
--data-urlencode 'asset_types=stable,rwa' \
--data-urlencode 'min_tvl=10000' \
--data-urlencode 'min_apr=100' \
--data-urlencode 'include_stale=false' \
--data-urlencode 'sort=apr' \
--data-urlencode 'order=desc' \
--data-urlencode 'limit=10'
Фильтры
q— пара, название токена, символ или адрес.venue,source— один или несколько ID через запятую; список в/sources. Площадка может иметь несколько источников.asset_types=stable— все активы пула должны быть стейблами.rwa— все RWA.stable,rwa— любая комбинация этих классов, без неизвестных токенов. Без фильтра доступны все активы.min_tvl,max_tvl,min_apr,max_apr,min_volume,min_fees_24h.include_stale=falseисключает задержанные основные данные. Свежесть объёма и комиссий проверяйте отдельно вvolume_staleиfees_stale.status=LIVE|PAST|UPCOMING— только для Merkl; без фильтра возвращаются все статусы.sort=apr|tvl|volume|fees_24h|pnl|created_at|data_at|name,order=asc|desc. Неизвестные значения всегда в конце.view=summary|full: краткие поля по умолчанию; full — все собранные поля.
Выгрузка всех записей
limit: 1–100, по умолчанию 25. Начните с offset=0. В следующих запросах сохраняйте фильтры, передавайте полученный snapshot_id и offset=next_offset. Завершите, когда next_offset=null. Снимок доступен 120 секунд, точный срок — snapshot_expires_at. При HTTP 409 начните выгрузку заново: не объединяйте страницы разных снимков.
API обновляет свой снимок не чаще раза в минуту. Сборщик работает независимо от запросов: основные источники каждые 5 минут, Merkl/Revert/Gecko/Fables — 15 минут, DefiLlama — час; при ошибках возможны повторы. Реальное время данных — data_at, состояние источника — fetched_at. Запрос к API не запускает сбор.
MCP
Адрес: https://robinhood.craby.fun/mcp
Транспорт: Streamable HTTP. Авторизация: не требуется.
Добавьте этот URL как удалённый MCP-сервер в поддерживающем приложении. Формат настроек зависит от клиента. Это адрес для MCP-клиента: обычное открытие GET в браузере возвращает 405; протокол использует POST. Сервер stateless, без отдельного SSE-потока и серверных уведомлений.
search_pools— пулы и рынки площадок.get_merkl_rewards— программы наград.get_revert_positions— показатели позиций.get_pool— полная карточка по ID.get_pool_history— последние 10 наблюдений.get_sources— покрытие и свежесть.
У методов поиска один необязательный аргумент filters с теми же именами фильтров, что у API:
{"filters":{"asset_types":"stable,rwa","min_tvl":10000,
"min_apr":100,"include_stale":false,"limit":10}}
Подтверждение токенов
asset_types сохраняет прежнюю классификацию. Для официального подтверждения каждого токена добавьте verified_assets_only=true. Выбор категорий — объединение: stable/rwa допускает stable+stable, RWA+RWA и RWA+stable; USDG не обязателен. Все токены должны подходить, полный состав обязателен. Проверка применяется до total, сортировки и страниц.
GET /api/v1/pools?asset_types=stable,rwa&verified_assets_only=true&limit=25
GET /api/v1/pools?verified_asset_types=equity,etf,stable&limit=25
{"filters":{"verified_asset_types":"equity,etf,stable","limit":25}}
verified_asset_types автоматически включает строгий режим: equity, etf, stable, rwa_unknown. Все токены должны принадлежать выбранному набору. rwa_unknown — подтверждённый RWA с неизвестным типом базового актива. Сейчас реестр Robinhood публикует ISIN, статус и множитель, но не тип базового актива: такие токены не проходят equity/etf. Отсутствие результата не означает отсутствие реальных акций в сети.
Каждый assets[].verification содержит: status (verified/inactive/unknown/stale/source_unavailable), category, asset_type, chain_id, address, issuer, source_url, source_id, last_success_at, source_updated_at, expires_at, stale, error, reason, asset_status, current_multiplier, stablecoin_form, underlying_asset. Идентификатор — сеть + точный контракт. Символ, название и логотип не служат доказательством. Для стейблов native/bridged/synthetic/wrapped — только при подтверждении официальными данными; неизвестный оригинал не достраивается.
Источники проверяются централизованно не чаще раза в час; попытки ограничены таймаутами, после ошибки повтор в следующем часовом интервале. Срок подтверждения — 24 часа. При сбое исходное last_success_at и данные сохраняются, status=source_unavailable исключается из строгого результата даже до истечения срока. source_updated_at=null, если время публикации не известно; last_success_at — время успешной нашей проверки. Для пагинации повторяйте фильтры и snapshot_id: доказательства и актуальность фиксируются в снимке, включая переход через срок годности; закреплённый снимок доступен 120 секунд.
Официальный реестр Robinhood проверяет deployments по chainId; USDG — официальная таблица контрактов Robinhood Chain. Адаптер Circle проверяет официальную таблицу USDC: пока Robinhood Chain там отсутствует, USDC остаётся unknown. Старый USDe из Merkl не считается официально подтверждённым. Другие стейблы, мосты и виды RWA без официального адаптера не подтверждаются.
pool_composition_verification: level=source_reported/incomplete, complete, source, source_url, onchain_verified=false, reason. Адреса берутся из API площадок/индексаторов (Fables — декодированные события); независимая каноническая проверка принадлежности пулу не выполнена. Подлинность токена не гарантирует цену $1, безопасность пула/протокола, возможность торговли или доходность.
Как понимать данные
Пулы с TVL ниже $100 или неизвестным TVL не сохраняются и не выдаются API. min_tvl=0 не отменяет этот порог. При падении ниже порога пул и его история удаляются; при росте он обнаруживается заново. Merkl и Revert не ограничены этим правилом.
Часовые поля: volume_1h, fees_1h, apr_1h. APR за час = fees_1h / TVL × 24 × 365 × 100%, годовая экстраполяция. hourly_window_kind: completed — последний завершённый час UP; rolling — последнее часовое окно источника. Границы completed указаны в hourly_window_start/end; для rolling точное время не опубликовано. fees_1h_estimated отмечает оценку, hourly_at — время данных / получения. Неизвестные значения — null, не суточные данные / 24. Сортировка: volume_1h, fees_1h, apr_1h.
Все LP: основная доходность — валовые комиссии за 24 часа / TVL × 365 × 100%, до удержаний протокола и без наград. Прежние ставки не смешиваются с новой историей. fees_estimated отмечает оценку комиссий. Morpho — кредитование: swap APR неприменим, исходная APY отдельно в source_apr.
- Денежные поля — USD; ставки — проценты годовых,
100означает 100%. APR и APY различаются: читайтеrate_label,method,range. Это оценки источников, не обещание дохода. - Merkl — дополнительные награды кампаний; не складывайте автоматически с APR площадки. Revert — результат конкретной позиции, не всего пула или кошелька.
nullозначает «неизвестно», а не ноль. При ошибках источника сохраняется последний снимок.- Все даты — Unix seconds UTC. «Задерживается» означает более часа отставания или неизвестное время. Дата создания и первое появление в нашем каталоге — разные поля.
- Каталог ограничен покрытием источников; Revert — выборка, не все позиции сети. Нулевое число записей не доказывает отсутствие площадки в сети.
Ошибки и ограничения
400 — неверные параметры; 404 — ID не найден; 409 — снимок истёк; 429 — слишком много одновременных запросов; 503 — временная недоступность. Ошибки API имеют вид {"error":{"code":"…","message":"…"}}. До 8 одновременных запросов API/MCP; тело MCP-запроса до 64 КБ. Не запускайте частый опрос: сборщик обновляется раз в несколько минут.
Прежние /api/data, /api/health и /api/history?id=… сохранены для сайта. Новым интеграциям лучше использовать версию v1.