Интеграция с Messari API
Messari — один из ведущих провайдеров криптовалютных данных: фундаментальные метрики активов, профили проектов, on-chain данные, новости и исследования. Интеграция с Messari API добавляет слой качественной аналитики поверх торговых данных.
Что предоставляет Messari API
Asset Metrics — ключевые показатели на уровне актива: market cap, fully diluted valuation, volume, circulating supply, реализованная капитализация, NVT ratio, velocity.
Asset Profiles — структурированная информация о проекте: описание, технология, команда, инвесторы, токеномика, roadmap.
Markets — данные по торговым парам на биржах (цены, объёмы, ликвидность).
News — агрегированные новости по активам с тегами и тональностью.
Timeseries — исторические метрики в формате временных рядов.
Подключение и аутентификация
import httpx
from typing import Optional
class MessariClient:
BASE_URL = "https://data.messari.io/api/v1"
def __init__(self, api_key: str):
self.session = httpx.AsyncClient(
headers={"x-messari-api-key": api_key},
timeout=30.0
)
async def get_asset_metrics(self, asset: str, fields: Optional[list[str]] = None) -> dict:
params = {}
if fields:
params["fields"] = ",".join(fields)
resp = await self.session.get(
f"{self.BASE_URL}/assets/{asset}/metrics",
params=params
)
resp.raise_for_status()
return resp.json()["data"]
async def get_timeseries(self, asset: str, metric: str,
start: str, end: str, interval: str = "1d") -> list:
resp = await self.session.get(
f"{self.BASE_URL}/assets/{asset}/metrics/{metric}/time-series",
params={"start": start, "end": end, "interval": interval}
)
resp.raise_for_status()
return resp.json()["data"]["values"]
Практическое применение
NVT Ratio (Network Value to Transactions) — аналог P/E для крипто. Высокий NVT при снижении on-chain объёма транзакций исторически предшествует коррекции.
async def get_nvt_signal(client: MessariClient, asset: str = "bitcoin") -> dict:
metrics = await client.get_asset_metrics(asset, fields=[
"market_data/price_usd",
"on_chain_data/nvt_ratio",
"on_chain_data/transaction_volume"
])
return {
"price": metrics["market_data"]["price_usd"],
"nvt": metrics["on_chain_data"]["nvt_ratio"],
"tx_volume": metrics["on_chain_data"]["transaction_volume"]
}
Rate limits: бесплатный tier — 20 req/мин, 1000 req/день. Pro — 30 req/сек. При работе с историческими timeseries добавляем кэширование результатов в Redis с TTL 1 час для frequently-accessed метрик.
Messari хорошо работает в связке с on-chain агрегаторами (Glassnode, Nansen) для многомерного анализа фундаментальных условий рынка перед принятием позиций.







