List signals
GET /api/signals/
List all signal definitions and pools.
Example request
curl https://api.hyperoru.com/api/signals/
Example response
{
"definitions": [
{ "id": 1, "name": "RSI Oversold", "type": "threshold", "enabled": true }
],
"pools": [
{ "id": 1, "name": "Momentum Pool", "signals_count": 3 }
]
}
Create signal definition
POST /api/signals/definitions
Create a new signal definition.
Signal type (e.g. threshold, crossover, pattern).
Signal-specific configuration.
Example request
curl -X POST https://api.hyperoru.com/api/signals/definitions \
-H "Content-Type: application/json" \
-d '{"name": "RSI Oversold", "type": "threshold", "config": {"indicator": "rsi", "threshold": 30, "direction": "below"}}'
Example response
{
"id": 1,
"name": "RSI Oversold",
"type": "threshold",
"enabled": true
}
Get signal definition
GET /api/signals/definitions/
Retrieve a signal definition by ID.
Example request
curl https://api.hyperoru.com/api/signals/definitions/1
Example response
{
"id": 1,
"name": "RSI Oversold",
"type": "threshold",
"config": { "indicator": "rsi", "threshold": 30, "direction": "below" }
}
Update signal definition
PUT /api/signals/definitions/
Update an existing signal definition.
Example request
curl -X PUT https://api.hyperoru.com/api/signals/definitions/1 \
-H "Content-Type: application/json" \
-d '{"config": {"indicator": "rsi", "threshold": 25, "direction": "below"}}'
Example response
{
"id": 1,
"name": "RSI Oversold",
"config": { "indicator": "rsi", "threshold": 25, "direction": "below" }
}
Delete signal definition
DELETE /api/signals/definitions/
Delete a signal definition.
Example request
curl -X DELETE https://api.hyperoru.com/api/signals/definitions/1
Example response
Create signal pool
POST /api/signals/pools
Create a new signal pool combining multiple signals.
Signal definition IDs to include.
Combination logic: and or or. Defaults to and.
Example request
curl -X POST https://api.hyperoru.com/api/signals/pools \
-H "Content-Type: application/json" \
-d '{"name": "Momentum Pool", "signal_ids": [1, 2], "logic": "and"}'
Example response
{
"id": 1,
"name": "Momentum Pool",
"signals_count": 2
}
Get / Update / Delete signal pool
GET /api/signals/pools/
PUT /api/signals/pools/
DELETE /api/signals/pools/
Example request
curl https://api.hyperoru.com/api/signals/pools/1
Example response
{
"id": 1,
"name": "Momentum Pool",
"signal_ids": [1, 2],
"logic": "and"
}
Trigger logs
GET /api/signals/trigger-logs
Get recent signal trigger events.
Example request
curl "https://api.hyperoru.com/api/signals/trigger-logs?symbol=BTC&limit=20"
Example response
[
{ "signal_id": 1, "symbol": "BTC", "triggered_at": "2026-04-09T11:00:00Z", "value": 28.5 }
]
Signal states
GET /api/signals/states
Get the current evaluation state of all signals.
Example request
curl https://api.hyperoru.com/api/signals/states
Example response
[
{ "signal_id": 1, "symbol": "BTC", "current_value": 55.3, "is_triggered": false }
]
Reset signal states
POST /api/signals/states/reset
Reset all signal states to their initial values.
Example request
curl -X POST https://api.hyperoru.com/api/signals/states/reset
Example response
{
"status": "ok",
"reset_count": 15
}
Analyze metric
GET /api/signals/analyze
Analyze a metric or indicator for signal design.
Example request
curl "https://api.hyperoru.com/api/signals/analyze?metric=rsi&symbol=BTC"
Example response
{
"metric": "rsi",
"symbol": "BTC",
"current": 55.3,
"mean": 50.2,
"std_dev": 12.1,
"percentile_5": 28.0,
"percentile_95": 72.5
}
Backtest signal
GET /api/signals/backtest/
Run a backtest on a single signal definition.
Number of days to backtest over.
Example request
curl "https://api.hyperoru.com/api/signals/backtest/1?symbol=BTC&days=30"
Example response
{
"signal_id": 1,
"triggers": 12,
"avg_return": 1.8,
"win_rate": 0.67
}
Backtest preview
POST /api/signals/backtest-preview
Preview backtest results for a signal configuration without saving.
Signal configuration to test.
Example request
curl -X POST https://api.hyperoru.com/api/signals/backtest-preview \
-H "Content-Type: application/json" \
-d '{"config": {"indicator": "rsi", "threshold": 30}, "symbol": "BTC"}'
Example response
{
"triggers": 8,
"avg_return": 2.1,
"win_rate": 0.75
}
Pool backtest
GET /api/signals/pool-backtest/
Run a backtest on a signal pool.
Example request
curl "https://api.hyperoru.com/api/signals/pool-backtest/1?symbol=BTC&days=30"
Example response
{
"pool_id": 1,
"triggers": 5,
"avg_return": 3.2,
"win_rate": 0.80
}
Test signal
GET /api/signals/test/
Evaluate a signal against current market data.
Example request
curl https://api.hyperoru.com/api/signals/test/1
Example response
{
"signal_id": 1,
"is_triggered": false,
"current_value": 55.3,
"threshold": 30
}
Create pool from config
POST /api/signals/create-pool-from-config
Create a signal pool from a JSON configuration.
Full pool configuration including signal definitions.
Example request
curl -X POST https://api.hyperoru.com/api/signals/create-pool-from-config \
-H "Content-Type: application/json" \
-d '{"name": "Quick Pool", "signals": [{"type": "threshold", "indicator": "rsi", "threshold": 30}]}'
Example response
{
"pool_id": 2,
"signals_created": 1
}
AI chat / AI chat stream
POST /api/signals/ai-chat
POST /api/signals/ai-chat-stream
Chat with AI for signal design assistance. The stream variant returns a task_id for SSE polling.
Existing conversation ID.
Example request
curl -X POST https://api.hyperoru.com/api/signals/ai-chat \
-H "Content-Type: application/json" \
-d '{"message": "Design a signal for BTC momentum breakouts"}'
Example response
{
"response": "I recommend combining RSI and volume signals...",
"conversation_id": "conv-sig-001"
}
AI conversations
GET /api/signals/ai-conversations
List signal AI conversations.
Example request
curl https://api.hyperoru.com/api/signals/ai-conversations
Example response
[
{ "id": "conv-sig-001", "title": "BTC momentum signals", "created_at": "2026-04-09T10:00:00Z" }
]
Conversation messages
GET /api/signals/ai-conversations//messages
Get messages in a signal AI conversation.
Example request
curl https://api.hyperoru.com/api/signals/ai-conversations/conv-sig-001/messages
Example response
[
{ "role": "user", "content": "Design a signal for BTC momentum breakouts" },
{ "role": "assistant", "content": "I recommend combining RSI and volume signals..." }
]
Wallet tracking status
GET /api/signals/wallet-tracking/status
Get the status of wallet-based signal tracking.
Example request
curl https://api.hyperoru.com/api/signals/wallet-tracking/status
Example response
{
"enabled": true,
"tracked_wallets": 5,
"last_check": "2026-04-09T12:00:00Z"
}
Update wallet tracking runtime
PUT /api/signals/wallet-tracking/runtime
Update the wallet tracking runtime configuration.
Enable or disable tracking.
Example request
curl -X PUT https://api.hyperoru.com/api/signals/wallet-tracking/runtime \
-H "Content-Type: application/json" \
-d '{"enabled": true, "interval_seconds": 30}'
Example response
Sync / Clear wallet tracking token
POST /api/signals/wallet-tracking/token
Sync a token for wallet tracking.
DELETE /api/signals/wallet-tracking/token
Clear the wallet tracking token.
Example request (sync)
curl -X POST https://api.hyperoru.com/api/signals/wallet-tracking/token \
-H "Content-Type: application/json" \
-d '{"token": "0xabc..."}'
Example response