Signals API
Integrate AI-powered cryptocurrency trading signals into your applications.
https://cryptochase.ai/api/v1Authentication
All API requests require authentication. Include your API token in the request headers:
curl -H "X-Api-Token: YOUR_API_TOKEN" \
https://cryptochase.ai/api/v1/opinionscurl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://cryptochase.ai/api/v1/opinionsSecurity: Keep your API token secure. Never expose it in client-side code.
Opinions
/opinionsRetrieve paginated AI-generated trading opinions. Data limited to the last 30 days.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| from | datetime | Start date (ISO 8601). Max 30 days ago. |
| to | datetime | End date (ISO 8601) |
| crypto_currency_id | integer | Filter by cryptocurrency ID |
| signal_id | integer | Filter by signal type ID |
| source_type | string | Filter by content type |
| important_min | integer | Minimum importance (1-5) |
| include_profit | boolean | Only opinions with profit data |
| per_page | integer | Results per page (default: 50, max: 100) |
Response Fields
| Field | Type | Description |
|---|---|---|
| id | integer | Unique opinion ID |
| name | string | AI-generated title |
| short_text | string | Brief summary |
| source_id | integer | Internal source identifier |
| signal_id | integer | Signal type (see /signal-types) |
| crypto_currency_id | integer | Cryptocurrency ID (see /cryptocurrencies) |
| published_at | datetime | Publication timestamp (ISO 8601) |
| important | integer | Importance: 1 (minimal) to 5 (critical) |
| duration | string | Timeframe: 1h, 4h, 8h, 12h, 1d, 3d, 7d, 14d, 30d |
| source_type | string | Content type: signalopinionnewsarticleanalysisprice_alertannouncementmemewithdrawalairdrop |
| actual_profit_percent | decimal|null | Actual profit 0-100% (filled after duration ends) |
| profit_calculated_at | datetime|null | When profit was calculated |
| tone_score | integer | Sentiment tone (0-100) |
| confidence_score | integer | AI confidence (0-100) |
| quality_markers | array | Quality indicator tags |
| pump_markers | array | Potential pump/dump indicators |
| risk_level | string | Risk assessment: conservativemoderateaggressive |
| predicted_profit_likelihood | integer | Success probability (0-100%) |
Example
curl -H "X-Api-Token: YOUR_TOKEN" \
"https://cryptochase.ai/api/v1/opinions?from=2026-01-01&signal_id=1&per_page=10"/opinions/{id}Get a single opinion by ID. Only opinions from the last 30 days are accessible.
Signal Types
/signal-typesGet all available signal types (BUY, SELL, HOLD, etc.) with sentiment values.
Response Fields
| Field | Type | Description |
|---|---|---|
| id | integer | Unique signal type ID |
| name | string | Signal type name (e.g., BUY, SELL, HOLD) |
| slug | string | URL-friendly identifier |
| sentiment_value | decimal | -1 (bearish) to 1 (bullish) |
Cryptocurrencies
/cryptocurrenciesGet a paginated list of cryptocurrencies tracked by our system.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Search by name or symbol |
| has_opinions | boolean | Only return cryptos with opinions |
| per_page | integer | Results per page (default: 50, max: 500) |
Webhooks
Receive real-time notifications when new opinions are generated.
/webhookSet or update your webhook URL:
{ "webhook_url": "https://your-server.com/webhook" }Webhook Payload
When a new opinion is created, we POST this JSON to your webhook:
{
"event": "opinion.created",
"timestamp": "2026-01-07T12:00:00Z",
"data": {
"id": 12345,
"name": "Bitcoin Shows Bullish Momentum",
"short_text": "BTC breaks key resistance...",
"signal_id": 1,
"crypto_currency_id": 1,
"published_at": "2026-01-07T12:00:00Z",
"important": 4,
"duration": "1d",
"source_type": "signal",
"tone_score": 75,
"confidence_score": 80,
"risk_level": "moderate",
"predicted_profit_likelihood": 65
}
}Signature Verification
Each request includes an X-Webhook-Signature header (HMAC-SHA256):
$signature = hash_hmac('sha256', $requestBody, $webhookSecret);
$isValid = hash_equals($signature, $_SERVER['HTTP_X_WEBHOOK_SIGNATURE']);/webhook/testSend a test webhook to verify your endpoint is correctly configured.
Error Codes
| Status | Code | Description |
|---|---|---|
| 401 | missing_api_token | No API token provided |
| 401 | invalid_api_token | Invalid or unrecognized token |
| 403 | api_access_expired | API access period has expired |
| 403 | api_access_inactive | API access is not active |
| 404 | not_found | Resource not found or older than 30 days |
| 422 | validation_error | Invalid request parameters |
| 429 | rate_limit_exceeded | Too many requests |
Support
Need help with the API? Contact our support team: