OS Trading Engine
API Reference
Endpoints
Trading Signals

Trading Signals

Send trading signals to trigger automated trades across eligible agents.


Endpoints Overview

MethodEndpointDescriptionAuth
POST/api/v1/trading-signalsCreate a signalAPI Key
GET/api/v1/trading-signalsList signalsJWT
GET/api/v1/trading-signals/exportExport as CSVJWT
GET/api/v1/trading-signals/:idGet a signalJWT
PUT/api/v1/trading-signals/:idUpdate a signalJWT
DELETE/api/v1/trading-signals/:idDelete a signalJWT
DELETE/api/v1/trading-signals/allDelete all signalsJWT
⚠️

Important: The POST endpoint requires API Key authentication with signals scope. All other endpoints require JWT authentication.


Create Signal

Send a trading signal. This is the primary endpoint for external integrations.

POST /api/v1/trading-signals

Authentication: API Key with signals scope

Rate Limit: 120 requests per minute per API key

Request

{
  "tokenAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
  "symbol": "BONK",
  "signalType": "buy",
  "signalStrength": 4,
  "activationReason": "Volume spike detected",
  "source": "my-trading-bot"
}
FieldTypeRequiredDescription
tokenAddressstringYesSolana token mint address (max 255 chars)
symbolstringNoToken ticker symbol (max 50 chars)
signalTypestringYesSignal type identifier (max 50 chars)
signalStrengthintegerYesStrength 1-5 (5 = strongest)
activationReasonstringNoHuman-readable reason
sourcestringNoSignal source identifier (max 100 chars)

Response

Success (201)

{
  "id": 12345,
  "createdAt": "2025-01-20T10:30:00.000Z",
  "updatedAt": "2025-01-20T10:30:00.000Z",
  "tokenAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
  "symbol": "BONK",
  "signalType": "buy",
  "activationReason": "Volume spike detected",
  "signalStrength": 4,
  "source": "my-trading-bot"
}

Signal Processing

When a signal is created:

  1. Event Emitted - Signal triggers immediate processing
  2. Agent Eligibility - Each agent is checked for eligibility
  3. Trade Execution - Eligible agents with automation enabled execute trades
  4. Position Created - Successful trades create open positions

Example

curl -X POST https://your-instance.com/api/v1/trading-signals \
  -H "X-API-Key: nex_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "tokenAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
    "symbol": "BONK",
    "signalType": "buy",
    "signalStrength": 4,
    "source": "my-bot"
  }'

List Signals

Get signals with optional filtering.

GET /api/v1/trading-signals

Authentication: JWT

Query Parameters

ParameterTypeRequiredDescription
tokenAddressstringNoFilter by token
signalTypestringNoFilter by type
startDateISO 8601NoFilter from date
endDateISO 8601NoFilter to date
limitintegerNoMax results (default: 100, max: 1000)
offsetintegerNoSkip results (default: 0)

Response

Success (200)

[
  {
    "id": 12345,
    "createdAt": "2025-01-20T10:30:00.000Z",
    "updatedAt": "2025-01-20T10:30:00.000Z",
    "tokenAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
    "symbol": "BONK",
    "signalType": "buy",
    "activationReason": "Volume spike detected",
    "signalStrength": 4,
    "source": "my-trading-bot"
  }
]

Returns signals ordered by createdAt descending.

Example

# Recent signals
curl -X GET "https://your-instance.com/api/v1/trading-signals?limit=50" \
  -H "Authorization: Bearer <access_token>"
 
# Signals for a specific token
curl -X GET "https://your-instance.com/api/v1/trading-signals?tokenAddress=DezX..." \
  -H "Authorization: Bearer <access_token>"

Export Signals

Export signals as CSV.

GET /api/v1/trading-signals/export

Authentication: JWT

Query Parameters

Same as List Signals.

Response

Returns CSV file.


Get Signal

Get a specific signal by ID.

GET /api/v1/trading-signals/:id

Authentication: JWT

Path Parameters

ParameterTypeDescription
idintegerSignal ID

Delete All Signals

Delete all trading signals. Use with caution.

DELETE /api/v1/trading-signals/all

Authentication: JWT

Response

Success (200)

{
  "success": true,
  "deleted": 150
}

Signal Strength Guide

StrengthMeaningSuggested Use
1WeakLow confidence signals
2Low-MediumModerate confidence
3MediumStandard signals
4StrongHigh confidence
5Very StrongHighest confidence signals

Signal strength can be used by agents to filter which signals to act on via trading configuration.


Related Endpoints