sirius-prediction-api
v1.1.0
Published
Official Node.js wrapper for the Sirius Prediction Market API. Access prediction markets, trading signals, sentiment data, sports odds, and more.
Maintainers
Readme
sirius-prediction-api
Official Node.js wrapper for the Sirius Prediction Market API. Access real-time prediction markets, trading signals, sentiment data, sports odds, weather forecasts, and AI-driven trading insights.
Zero dependencies -- uses native fetch (Node 18+).
Get Your API Key
Subscribe on RapidAPI to get your key. Three tiers available:
| Tier | Endpoints | Rate Limit | |------|-----------|------------| | Free | markets, signals, sentiment, sports, weather, odds | 100 req/day | | Basic | + performance, trades | 1,000 req/day | | Pro | + brain (AI decisions) | 10,000 req/day |
Install
npm install sirius-prediction-apiQuick Start
import SiriusAPI from 'sirius-prediction-api';
const sirius = new SiriusAPI('your-rapidapi-key');
// Get active prediction markets
const markets = await sirius.markets();
console.log(markets);
// Get trading signals filtered by layer
const signals = await sirius.signals({ layer: 'L1', min_gap: 0.10 });
console.log(signals);CommonJS
const SiriusAPI = require('sirius-prediction-api');
const sirius = new SiriusAPI('your-rapidapi-key');
const markets = await sirius.markets();API Reference
Constructor
// Simple — just pass your key
const sirius = new SiriusAPI('your-rapidapi-key');
// Advanced options
const sirius = new SiriusAPI({
apiKey: 'your-rapidapi-key',
timeout: 15000, // 15s timeout (default: 30s)
});Methods
All methods return a Promise and throw SiriusAPIError on failure.
sirius.health()
Check API status.
const status = await sirius.health();
// { status: 'ok', version: '1.0', uptime: 86400 }sirius.markets()
Get active prediction markets with current odds.
const markets = await sirius.markets();
// [{ id: '...', question: 'Will BTC reach $100k?', odds: 0.72, ... }]sirius.signals(params?)
Get real-time trading signals. Supports filtering:
| Param | Type | Default | Description |
|-------|------|---------|-------------|
| limit | number | 50 | Max signals to return |
| layer | string | all | Filter by layer: L1, L2, L3, L4, L5 |
| min_gap | number | 0.05 | Minimum price gap threshold |
// All signals
const all = await sirius.signals();
// Only L1 signals with strong gap
const strong = await sirius.signals({ layer: 'L1', min_gap: 0.10, limit: 10 });Signal layers:
- L1 -- Price lag detection (cross-platform arbitrage)
- L2 -- News-driven signals
- L3 -- Weather-based market signals
- L4 -- Kalshi odds divergence
- L5 -- Sports + political signals (ESPN, Kalshi)
sirius.signalHistory()
Get historical trading signals for backtesting.
const history = await sirius.signalHistory();sirius.sentiment()
Get market sentiment: Fear & Greed index, long/short ratios.
const sentiment = await sirius.sentiment();
// { fear_greed: 72, fear_greed_label: 'Greed', long_short_ratio: { BTC: 1.4, ... } }sirius.sports()
Get sports odds from ESPN + Kalshi.
const sports = await sirius.sports();sirius.weather()
Get weather forecast data for weather-based prediction markets.
const weather = await sirius.weather();sirius.odds()
Get cross-platform odds comparison.
const odds = await sirius.odds();sirius.performance() (Basic tier)
Get bot track record and performance stats.
const perf = await sirius.performance();
// { total_trades: 85, win_rate: 0.75, pnl: 18.19 }sirius.trades() (Basic tier)
Get trade history.
const trades = await sirius.trades();sirius.brain() (Pro tier)
Get AI brain decisions and reasoning.
const brain = await sirius.brain();Error Handling
import SiriusAPI, { SiriusAPIError } from 'sirius-prediction-api';
const sirius = new SiriusAPI('your-key');
try {
const markets = await sirius.markets();
} catch (err) {
if (err instanceof SiriusAPIError) {
console.error(`API Error ${err.status}: ${err.message}`);
console.error('Response body:', err.body);
}
}TypeScript
Full TypeScript support is included out of the box. All response types are exported:
import SiriusAPI, { Market, Signal, SentimentData } from 'sirius-prediction-api';
const sirius = new SiriusAPI('your-key');
const markets: Market[] = await sirius.markets();
const signals: Signal[] = await sirius.signals({ layer: 'L1' });Requirements
- Node.js 18+ (uses native
fetch)
License
MIT
