REST API
API key authentication and setup
Access the AIXBT API using API key authentication. For pay-per-request access without API keys, see x402.
Base URL
https://api.aixbt.techAll endpoints are prefixed with /v2.
Authentication
Most endpoints work without authentication, returning data delayed by 24 hours — useful for exploring the API, but not actionable for trading or monitoring. For real-time data and higher rate limits, include your API key in the x-api-key header:
curl "https://api.aixbt.tech/v2/projects" \
-H "x-api-key: YOUR_API_KEY"Access Levels
| Level | Authentication | Data | Rate Limits | How to Get |
|---|---|---|---|---|
| Free | None required | 24h delayed, with meta upgrade block | 10/min, 300/day | Just call the API |
| x402 Key | x-api-key header | Real-time | 30/min, 10k/day | Purchase via x402 — from $10/day |
| Full Key | x-api-key header | Real-time | 100/min, 100k/day | Data, Pro, or Holder plan |
All access levels use the same endpoints. The difference is data freshness and rate limits. Free-tier responses include a meta block with upgrade URLs (see Response Format). x402 keys are convenient for short-term use; for ongoing access, a subscription plan offers the same or better value with higher rate limits. For the agentic endpoint (Indigo), an API key is required — use x402 pay-per-request or a subscription key.
API Key Info
GET /v2/api-keys/info
Returns metadata about the API key used to authenticate the request.
{
"status": 200,
"data": {
"id": "665f1a2b3c4d5e6f7a8b9c0d",
"type": "x402",
"scopes": ["mcp", "projects"],
"expiresAt": "2026-03-27T08:00:00.000Z"
}
}The expiresAt field returns "never" if the key has no expiration set.
Rate Limits
| Free (no key) | x402 (personal) | Full (subscription) | |
|---|---|---|---|
| Per minute | 10 | 30 | 100 |
| Per day | 300 | 10,000 | 100,000 |
Rate Limit Headers
Every response includes headers showing your current usage:
X-RateLimit-Limit-Minute: 100
X-RateLimit-Remaining-Minute: 99
X-RateLimit-Reset-Minute: 2025-01-15T12:01:00.000Z
X-RateLimit-Limit-Day: 100000
X-RateLimit-Remaining-Day: 99999
X-RateLimit-Reset-Day: 2025-01-16T00:00:00.000ZRate Limit Exceeded
When you exceed a limit, you'll receive a 429 response:
{
"error": "Too Many Requests",
"message": "Rate limit exceeded (minute). Try again after 2025-01-15T12:01:00.000Z",
"code": "RATE_LIMIT_EXCEEDED",
"limitType": "minute"
}The response includes a Retry-After header with the number of seconds to wait.
Response Format
All endpoints return a consistent JSON structure:
Success Response
{
"status": 200,
"data": { ... },
"pagination": {
"page": 1,
"limit": 50,
"totalCount": 1000,
"hasMore": true
}
}The pagination object is included for list endpoints.
Free-Tier Response
When no API key is provided, delayed-data endpoints include a meta block with upgrade information:
{
"status": 200,
"meta": {
"tier": "free",
"dataDelayHours": 24,
"dataAsOf": "2026-03-10T04:00:00.000Z",
"upgrade": {
"description": "This response contains data delayed by 24 hours. Purchase an API key for real-time access — no account needed.",
"protocol": "x402",
"payment": "USDC on Base",
"options": [
{ "period": "1 day", "price": "$10", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/1d" },
{ "period": "1 week", "price": "$50", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/1w" },
{ "period": "4 weeks", "price": "$100", "method": "POST", "url": "https://api.aixbt.tech/x402/v2/api-keys/4w" }
]
}
},
"data": [ ... ],
"pagination": { ... }
}The meta block appears on these endpoints when called without an API key:
GET /v2/signalsGET /v2/projectsGET /v2/projects/{id}GET /v2/projects/{id}/momentum
Reference endpoints (/v2/clusters, /v2/projects/chains) do not include meta — they return real-time data regardless of authentication.
When an API key is present, meta is absent. Its absence indicates real-time data.
Error Response
{
"status": 400,
"error": "Invalid request parameters",
"data": []
}HTTP Status Codes
Most endpoints return 200 with delayed data when no API key is provided. The 401 codes below only apply to endpoints that require authentication (POST /v2/agents/indigo, GET /v2/api-keys/info).
| Status | Code | Meaning |
|---|---|---|
200 | - | Success |
400 | - | Bad request - check your parameters |
401 | MISSING_API_KEY | No API key provided |
401 | INVALID_API_KEY | API key is invalid or inactive |
403 | INVALID_API_KEY_SCOPE | API key lacks required permissions |
404 | - | Resource not found |
429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded |
500 | - | Server error |
Pagination
List endpoints support pagination with these query parameters:
| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | - | Page number (1-indexed) |
limit | 50 | 50 | Results per page |
Example:
curl "https://api.aixbt.tech/v2/projects?page=2&limit=25" \
-H "x-api-key: YOUR_API_KEY"Filtering
Most list endpoints support filtering. Filters use AND logic between different parameters, and OR logic for multiple values within a parameter.
# Projects matching (name=eth OR name=btc) AND chain=base
curl "https://api.aixbt.tech/v2/projects?names=eth,btc&chain=base" \
-H "x-api-key: YOUR_API_KEY"See the API Reference for available filters on each endpoint.
Next Steps
- API Quickstart - Make your first request
- API Reference - Complete endpoint documentation
- x402 - Pay-per-request alternative