| name | messari-crypto |
| description | Messari crypto market intelligence via REST API with one-of credentials for x402-enabled routes (MESSARI_API_KEY or X402_PRIVATE_KEY); use for AI, metrics, signal, news, research, stablecoins, exchanges, networks, protocols, token unlocks, fundraising, intel, topics, and X-users data. |
| homepage | https://github.com/messari/skills |
| metadata | {"openclaw":{"homepage":"https://github.com/messari/skills","primaryEnv":"MESSARI_API_KEY"}} |
Messari Crypto Intel
Real-time crypto market intelligence via Messari's REST API — AI-powered analysis,
on-chain metrics, sentiment, news, and institutional-grade research without building data pipelines.
Prerequisites
- Credential Mode A: API key (
MESSARI_API_KEY) — sign up for an API key or retrieve your existing key. On credit-metered endpoints (for example, Messari AI), API-key access may require Messari AI credits (manage credits at messari.io/account).
- Credential Mode B: x402 pay-per-request (
X402_PRIVATE_KEY) — use x402 negotiation on x402-enabled routes; this flow does not require pre-purchased Messari AI credits.
- Coverage note: For full endpoint coverage, configure API key; x402-only credentials are limited to x402-enabled routes.
REST API Overview
Base URL: https://api.messari.io
Authentication modes:
- API key mode: include API key header:
x-messari-api-key: <YOUR_API_KEY>
- x402 mode: send request normally, handle
402 Payment Required, then retry with Payment-Signature (legacy: X-PAYMENT). See the sample code below for how to do this.
Secrets guardrail: Never commit secret values. Use env vars only and placeholders like $MESSARI_API_KEY and $X402_PRIVATE_KEY in docs/examples.
All endpoints accept and return JSON. Use Content-Type: application/json for POST requests.
x402 Payments
Some Messari endpoints support pay-per-request access via x402.
- Discover payable resources dynamically with
GET https://api.messari.io/.well-known/x402.
- Treat the runtime
402 Payment Required challenge as the source of truth for payable route and price.
- Do not hardcode x402 prices or payable-route assumptions in this skill.
- Use the Service Routing Table below as the authoritative service-level view of currently supported authentication methods.
- On x402-enabled routes, x402 is an alternative to API-key.
Negotiation flow:
- Send the request normally.
- If the response is
402 Payment Required, parse the payment requirements from the response body and the Payment-Required header.
- Create/sign the payment payload and retry with
Payment-Signature (legacy compatibility: X-PAYMENT).
- Continue once the retried request succeeds.
Budget guardrail: If there is no pre-approved budget or prior user consent, ask the user to confirm before executing paid x402 requests.
Request Patterns
API-key request pattern:
curl "https://api.messari.io/metrics/v2/assets?assetSlugs=bitcoin,ethereum" \
-H "x-messari-api-key: $MESSARI_API_KEY"
Use API-key mode for endpoints marked api_key-only.
x402 request pattern:
import os
from dotenv import load_dotenv
from eth_account import Account
from x402 import x402ClientSync
from x402.http import x402HTTPClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
load_dotenv()
requests_list = [
{
"method": "GET",
"url": "https://api.messari.io/metrics/v2/assets/details?slugs=bitcoin",
},
]
r = requests_list[0]
account = Account.from_key(os.getenv("X402_PRIVATE_KEY"))
print(f"EVM address: {account.address}")
client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(account))
http_client = x402HTTPClientSync(client)
print(f"Making request to: {r['url']}\n")
with x402_requests(client) as session:
response = session.request(r["method"], r["url"], json=r.get("json"))
print(f"Response status: {response.status_code}")
print(f"Response body: {response.text}")
Secrets note: Never commit credentials or signatures. Use placeholders only ($MESSARI_API_KEY, $X402_PRIVATE_KEY).
Service Routing Table
| User is asking about... | Service | Auth |
|---|
| General crypto question, synthesis, open-ended research | AI | api_key, x402 |
| Price, volume, market cap, ROI, ATH, performance comparison | Metrics | api_key, x402 |
| Sentiment, mindshare, trending tokens, social buzz | Signal | api_key, x402 |
| Headlines, recent events, breaking news | News | api_key, x402 |
| Analyst reports, deep dives, sector overviews | Research | api_key only |
| Stablecoin supply, flows, chain breakdowns | Stablecoins | api_key, x402 |
| Exchange volumes, comparisons | Exchanges | api_key only |
| L1/L2 network activity, fees, active addresses | Networks | api_key, x402 |
| DeFi protocols, TVL, lending, DEX volume | Protocols | api_key only |
| Token unlocks, vesting schedules | Token Unlocks | api_key, x402 |
| Fundraising rounds, investors, VC activity, M&A | Fundraising | api_key, x402 |
| Governance events, protocol upgrades | Intel | api_key only |
| Trending narratives, topic momentum | Topics | api_key only |
| Crypto influencers, X/Twitter accounts | X-Users | api_key, x402 |
When in doubt, start with the AI service — it synthesizes across all sources and handles
open-ended questions well.
For detailed endpoint documentation, see "API Service Directory" below or the full Messari API docs.
Example Request Routing
"Tell me about x402 and how it works." → AI /ai/v2/chat/completions
"What are upcoming token unlocks this month?" → Unlocks /token-unlocks/v1/assets
"10 most recent AI/compute fundraising rounds" → Funding /funding/v1/rounds
"Latest crypto regulation headlines" → News /news/v1/news/feed
"Recent DePIN sector developments" → Research /research/v1/reports
"Most active seed investor over last year" → Funding /funding/v1/rounds/investors
"Top AAVE events last quarter" → Intel /intel/v1/events
"Solana ecosystem map" → Networks /metrics/v2/networks
"Recent a16z crypto investments" → Funding /funding/v1/projects
"Compare BitTensor vs Render native assets" → Metrics /metrics/v2/assets/details
API Service Directory
After deciding which service to use, read the detailed endpoint documentation from url in the "spec" column below before calling the endpoint.
Many endpoints require an assetID, for these you should first call the unauthenticated lsit assets endpoint /metrics/v2/assets?limit=200 with curl to get the assetID.
AI Service
Chat completions trained on 30TB+ of structured crypto data. Handles synthesis, comparisons,
and open-ended research. x402 access does not require pre-purchased credits.
Body: { "messages": [{"role": "user", "content": "..."}], "stream": false }
Metrics Service
Price, volume, market cap, fundamentals for 34,000+ assets. Use for quantitative questions,
performance comparisons, ROI, ATH, and historical timeseries. The NO AUTH REQUIRED endpoints are not authenticated so access them with curl
Key params: slugs, assetIds, metrics, start, end, interval, limit, page
Signal Service
Real-time social intelligence: sentiment scoring, mindshare tracking, trending.
Key params: assetIds, sort, sortDirection, limit, page, start, end
News Service
Key params: assetSlugs, sourceIds, limit, page
Research Service (api_key only)
Institutional reports, sector deep dives, protocol diligence.
Key params: tags, assetSlugs, limit, page
Stablecoins Service
Key params: metrics, chains, start, end, interval, limit, page
Exchanges Service (api_key only)
Key params: type, granularity, start, end, limit, page
Networks Service
L1/L2 on-chain activity — fees, active addresses, usage metrics.
Key params: networkSlugs, metrics, start, end, interval, limit, page
Protocols Service (api_key only)
DeFi protocols: TVL, DEX, lending, liquid staking, bridges.
Key params: sort, order, limit, page, granularity, start, end
Token Unlocks Service
Before calling the endpoint, you should first curl the /token-unlocks/v1/assets?limit=100 endpoint to get the assetID to filter by. This endpoint is not authenticated so access it with curl
Key params: assetIDs, start, end, limit, page
Fundraising Service
Key params: assetSlugs, investorSlugs, roundTypes (seed, series-a, …), start, end, limit, page
Intel Service (api_key only)
Governance events, protocol upgrades, project milestones.
Key params: assetSlugs, eventTypes, start, end, limit, page
Topics Service (api_key only)
Key params: classes, assetIDs, start, end, granularity, sort, limit, page
X-Users Service
Crypto X/Twitter influencer metrics and rankings.
Key params: sort, sortDirection, accountType, limit, page, start, end