Query historical Hydra data over HTTP.
REST API Overview
The Hydra REST API gives you query access to historical stream data, signal history, and market snapshots. Use it alongside the WebSocket API — real-time events via WebSocket, historical queries via REST.
Base URL
https://api.hydra.app/v1
Authentication
All REST endpoints require a valid JWT in the Authorization header:
curl https://api.hydra.app/v1/signals \
-H "Authorization: Bearer eyJhbGci..."
See Wallet Authentication to obtain a JWT.
Response Format
All responses are JSON. Successful responses:
{
"data": [...],
"meta": {
"total": 1842,
"limit": 50,
"offset": 0,
"hasMore": true
}
}
Error responses:
{
"error": {
"code": "UNAUTHORIZED",
"message": "JWT has expired"
}
}
Pagination
Use limit and offset for pagination:
GET /v1/signals?limit=100&offset=200
Maximum limit is 500. Default is 50.
Common Query Parameters
| Param | Type | Description |
|---|---|---|
limit |
integer | Results per page (max 500) |
offset |
integer | Pagination offset |
since |
string | ISO datetime or shorthand (1h, 6h, 24h, 7d) |
until |
string | ISO datetime upper bound |
lat |
number | Latitude for geo filter |
lng |
number | Longitude for geo filter |
radius |
number | Radius in km (requires lat+lng) |
Rate Limits
Rate limits apply per JWT (per wallet address):
| Tier | Requests / minute |
|---|---|
| Basic | 60 |
| Standard | 300 |
| Advanced | 1,000 |
| Full Access | 5,000 |
| Node Operator | Unlimited |
Rate limit headers are returned on every response:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1710000060