Jupiter Prediction Skill v1.0
Purpose
Enable AI agents to interact with Jupiter Prediction Market API for autonomous trading and portfolio management.
When to Use
- Build autonomous trading bots or agents
- Query market data, events, and user positions
- Create automated market scanning and opportunity detection
- Monitor portfolio health and risk
- Claim payouts after market settlement
Scope
- Read/write access to Jupiter Prediction API
- Requires API key from Jupiter Portal
- All transactions require user signature via Solana wallet
- Beta API - subject to breaking changes
Quick Start
const { JupiterPrediction, parseEventsResponse, formatUsd } = require('./src');
const client = new JupiterPrediction();
const events = await client.list({ category: 'crypto', filter: 'trending', limit: 5 });
const parsed = parseEventsResponse(events);
console.log('Events:', parsed.data.map(e => e.title));
Configuration
export JUPITER_API_KEY=your-api-key
Or use config file config/api-key.json.
Supported Capabilities
Client Endpoints
| Category |
Methods |
| Events |
list, search, getEvent, suggested |
| Markets |
getMarket, orderbook |
| Orders |
create, listOrders, status, cancelOrder |
| Positions |
listPositions, getPosition, closePosition, closeAllPositions, claim |
| History |
listHistory, getHistoryByPosition |
| Social |
profile, pnlHistory, trades, leaderboards, follow/unfollow |
Utility Functions
| Function |
Description |
microUsdToUsd(microUsd) |
Convert micro USD to USD |
formatUsd(microUsd, decimals) |
Format as currency string |
calculateProbability(yesPrice) |
Implied probability (%) |
parseEventsResponse(response) |
Parse event data |
parseMarketResponse(market) |
Parse market data |
parsePositionsResponse(response) |
Parse position data |
filterClaimable(positions) |
Filter claimable positions |
filterOpen(positions) |
Filter open positions |
aggregatePnL(positions) |
Calculate total P&L |
Bundled Scripts
Run from project root:
# Scan markets by criteria
node scripts/scan-markets.js --crypto --limit=10 --min-volume=10000
# Find mispriced opportunities
node scripts/find-opportunities.js --threshold=20 --min-volume=50000
# Monitor portfolio
node scripts/monitor-portfolio.js <wallet-address>
# Auto-claim winnings
node scripts/auto-claim.js <wallet-address> [--dry-run] [--min=1]
# Portfolio health check
node scripts/portfolio-health.js <wallet-address>
Bundled Workflows
The bundled scripts provide complete autonomous agent workflows:
- Market Scanner - Find markets by volume, probability, category
- Opportunity Finder - Detect mispriced markets
- Portfolio Monitor - Track positions, P&L, claimable
- Auto-Claim - Batch claim winnings
- Portfolio Health - Risk checks (position limits, diversification)
- Trading Cycle - Complete discovery → evaluation → execution
Code Examples
See src/ for available endpoints and utilities:
src/client.js - Main API client class
src/index.js - Exports and utility functions
src/endpoints/ - Individual endpoint modules
src/utils/ - Helper functions (parser, prices, errors)
API Reference
Client methods are documented in code comments. Main classes:
JupiterPrediction - Main client (src/client.js)
- Utility functions in src/index.js
Verification
Verify syntax:
node --check src/index.js
node --check src/client.js
Run a script (requires JUPITER_API_KEY):
export JUPITER_API_KEY=your-key
node scripts/scan-markets.js --crypto --limit=5
Version
License
MIT
1---2name: jupiter-prediction-market3description: Complete Node.js client for Jupiter Prediction Market API. Use when building AI agents for prediction market trading, portfolio management, or automated trading bots on Solana. Covers: (1) Querying events, markets, orders, positions, payouts, history, and social features, (2) Creating/managing trading positions, (3) Claiming payouts after market settlement, (4) Building autonomous agent workflows for market scanning, opportunity finding, portfolio monitoring, and risk management.4---56# Jupiter Prediction Skill v1.078## Purpose9Enable AI agents to interact with Jupiter Prediction Market API for autonomous trading and portfolio management.1011## When to Use12- Build autonomous trading bots or agents13- Query market data, events, and user positions14- Create automated market scanning and opportunity detection15- Monitor portfolio health and risk16- Claim payouts after market settlement1718## Scope19- Read/write access to Jupiter Prediction API20- Requires API key from [Jupiter Portal](https://portal.jup.ag)21- All transactions require user signature via Solana wallet22- Beta API - subject to breaking changes2324## Quick Start2526```javascript27const { JupiterPrediction, parseEventsResponse, formatUsd } = require('./src');2829const client = new JupiterPrediction();3031const events = await client.list({ category: 'crypto', filter: 'trending', limit: 5 });32const parsed = parseEventsResponse(events);33console.log('Events:', parsed.data.map(e => e.title));34```3536## Configuration3738```bash39export JUPITER_API_KEY=your-api-key40```4142Or use config file `config/api-key.json`.4344## Supported Capabilities4546### Client Endpoints4748| Category | Methods |49|----------|---------|50| Events | `list`, `search`, `getEvent`, `suggested` |51| Markets | `getMarket`, `orderbook` |52| Orders | `create`, `listOrders`, `status`, `cancelOrder` |53| Positions | `listPositions`, `getPosition`, `closePosition`, `closeAllPositions`, `claim` |54| History | `listHistory`, `getHistoryByPosition` |55| Social | `profile`, `pnlHistory`, `trades`, `leaderboards`, `follow/unfollow` |5657### Utility Functions5859| Function | Description |60|----------|-------------|61| `microUsdToUsd(microUsd)` | Convert micro USD to USD |62| `formatUsd(microUsd, decimals)` | Format as currency string |63| `calculateProbability(yesPrice)` | Implied probability (%) |64| `parseEventsResponse(response)` | Parse event data |65| `parseMarketResponse(market)` | Parse market data |66| `parsePositionsResponse(response)` | Parse position data |67| `filterClaimable(positions)` | Filter claimable positions |68| `filterOpen(positions)` | Filter open positions |69| `aggregatePnL(positions)` | Calculate total P&L |7071## Bundled Scripts7273Run from project root:7475```bash76# Scan markets by criteria77node scripts/scan-markets.js --crypto --limit=10 --min-volume=100007879# Find mispriced opportunities80node scripts/find-opportunities.js --threshold=20 --min-volume=500008182# Monitor portfolio83node scripts/monitor-portfolio.js <wallet-address>8485# Auto-claim winnings86node scripts/auto-claim.js <wallet-address> [--dry-run] [--min=1]8788# Portfolio health check89node scripts/portfolio-health.js <wallet-address>90```9192## Bundled Workflows9394The bundled scripts provide complete autonomous agent workflows:95961. **Market Scanner** - Find markets by volume, probability, category972. **Opportunity Finder** - Detect mispriced markets983. **Portfolio Monitor** - Track positions, P&L, claimable994. **Auto-Claim** - Batch claim winnings1005. **Portfolio Health** - Risk checks (position limits, diversification)1016. **Trading Cycle** - Complete discovery → evaluation → execution102103## Code Examples104105See `src/` for available endpoints and utilities:106- `src/client.js` - Main API client class107- `src/index.js` - Exports and utility functions108- `src/endpoints/` - Individual endpoint modules109- `src/utils/` - Helper functions (parser, prices, errors)110111## API Reference112113Client methods are documented in code comments. Main classes:114- `JupiterPrediction` - Main client (src/client.js)115- Utility functions in src/index.js116117## Verification118119Verify syntax:120```bash121node --check src/index.js122node --check src/client.js123```124125Run a script (requires JUPITER_API_KEY):126```bash127export JUPITER_API_KEY=your-key128node scripts/scan-markets.js --crypto --limit=5129```130131## Version132- v1.0.0133134## License135MIT