A/B Test Setup
Use when designing an A/B or split test: define the hypothesis, control and variants, estimate sample size, verify tracking, and predeclare metrics and stopping rules.
5,032,613 AI resources indexedWorking toward the world’s largest AI resource index.
Search, discover, and browse indexed markets across all platforms
---
name: market-index-b762b9ee37d8
description: "Search, discover, and browse indexed markets across all platforms"
emoji: "🔍"
---
# Market Index - Complete API Reference
Search, discover, and browse markets across all prediction market platforms with advanced filtering and categorization.
---
## Chat Commands
### Search
```
/index search "trump" # Search all indexed markets
/index search "election" --platform poly # Search specific platform
/index search "fed rate" --category finance # Filter by category
/index search "crypto" --min-volume 10000 # Min volume filter
/index search "sports" --active-only # Active markets only
```
### Browse Categories
```
/index categories # List all categories
/index category politics # Browse politics markets
/index category crypto # Browse crypto markets
/index category sports # Browse sports markets
/index trending # Trending markets
```
### Market Discovery
```
/index new # Newly created markets
/index new --last 24h # Last 24 hours
/index hot # High activity markets
/index closing-soon # Markets ending soon
```
### Index Management
```
/index update # Refresh market index
/index update poly # Update specific platform
/index stats # Index statistics
/index status # Index health status
```
---
## TypeScript API Reference
### Create Market Index
```typescript
import { createMarketIndex } from 'clodds/market-index';
const index = createMarketIndex({
platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],
// Auto-refresh
autoRefresh: true,
refreshIntervalMs: 300000, // 5 minutes
// Storage
cachePath: './market-index.db',
});
```
### Search Markets
```typescript
// Full-text search
const results = await index.search('trump election', {
platforms: ['polymarket', 'kalshi'],
limit: 20,
sortBy: 'volume', // 'volume' | 'relevance' | 'endDate' | 'created'
});
for (const market of results) {
console.log(`[${market.platform}] ${market.question}`);
console.log(` Category: ${market.category}`);
console.log(` Volume: $${market.volume.toLocaleString()}`);
console.log(` End: ${market.endDate}`);
}
// With filters
const filtered = await index.search('', {
category: 'politics',
minVolume: 10000,
activeOnly: true,
endsBefore: '2024-12-31',
});
```
### Browse Categories
```typescript
// Get all categories
const categories = await index.getCategories();
for (const cat of categories) {
console.log(`${cat.name}: ${cat.marketCount} markets`);
}
// Get markets in category
const politics = await index.getMarketsByCategory('politics', {
limit: 50,
sortBy: 'volume',
});
```
### Market Discovery
```typescript
// Get new markets
const newMarkets = await index.getNewMarkets({
since: Date.now() - 24 * 60 * 60 * 1000, // Last 24h
limit: 20,
});
// Get trending/hot markets
const trending = await index.getTrendingMarkets({
period: '24h',
limit: 10,
});
for (const market of trending) {
console.log(`${market.question}`);
console.log(` Volume 24h: $${market.volume24h.toLocaleString()}`);
console.log(` Volume change: ${market.volumeChange > 0 ? '+' : ''}${market.volumeChange}%`);
}
// Markets closing soon
const closingSoon = await index.getClosingSoon({
within: '48h',
minVolume: 1000,
});
```
### Index Management
```typescript
// Update index
await index.update();
// Update specific platform
await index.update('polymarket');
// Get index stats
const stats = await index.getStats();
console.log(`Total markets: ${stats.totalMarkets}`);
console.log(`By platform:`);
for (const [platform, count] of Object.entries(stats.byPlatform)) {
console.log(` ${platform}: ${count}`);
}
console.log(`By category:`);
for (const [category, count] of Object.entries(stats.byCategory)) {
console.log(` ${category}: ${count}`);
}
console.log(`Last updated: ${stats.lastUpdated}`);
// Check status
const status = await index.getStatus();
console.log(`Status: ${status.status}`);
console.log(`Markets indexed: ${status.marketCount}`);
console.log(`Index age: ${status.ageMinutes} minutes`);
```
### Get Single Market
```typescript
// Get market details
const market = await index.getMarket('polymarket', 'market-123');
console.log(`Question: ${market.question}`);
console.log(`Description: ${market.description}`);
console.log(`Category: ${market.category}`);
console.log(`Platform: ${market.platform}`);
console.log(`Volume: $${market.volume.toLocaleString()}`);
console.log(`Liquidity: $${market.liquidity.toLocaleString()}`);
console.log(`Start: ${market.startDate}`);
console.log(`End: ${market.endDate}`);
console.log(`Outcomes: ${market.outcomes.join(', ')}`);
```
---
## Categories
Standard categories across platforms:
| Category | Description |
|----------|-------------|
| **politics** | Elections, policy, government |
| **crypto** | Cryptocurrency prices, events |
| **finance** | Fed rates, stocks, economy |
| **sports** | Games, tournaments, awards |
| **entertainment** | Movies, TV, celebrities |
| **science** | Research, space, climate |
| **technology** | Tech companies, products |
| **world** | International events |
| **other** | Miscellaneous |
---
## Search Syntax
| Syntax | Example | Description |
|--------|---------|-------------|
| Keywords | `trump election` | Match any word |
| Exact phrase | `"federal reserve"` | Match exact phrase |
| Exclude | `election -trump` | Exclude word |
| Platform filter | `platform:poly` | Specific platform |
| Category filter | `category:politics` | Specific category |
---
## Sorting Options
| Option | Description |
|--------|-------------|
| `volume` | Highest volume first |
| `relevance` | Best match first |
| `endDate` | Ending soonest first |
| `created` | Newest first |
| `liquidity` | Highest liquidity first |
---
## Best Practices
1. **Refresh regularly** - Markets change frequently
2. **Use filters** - Narrow down large result sets
3. **Check liquidity** - Not just volume
4. **Monitor new markets** - Opportunities in new listings
5. **Track closing dates** - Don't miss resolution
---
name: market-index-b762b9ee37d8
description: "Search, discover, and browse indexed markets across all platforms"
emoji: "🔍"
---
# Market Index - Complete API Reference
Search, discover, and browse markets across all prediction market platforms with advanced filtering and categorization.
---
## Chat Commands
### Search
```
/index search "trump" # Search all indexed markets
/index search "election" --platform poly # Search specific platform
/index search "fed rate" --category finance # Filter by category
/index search "crypto" --min-volume 10000 # Min volume filter
/index search "sports" --active-only # Active markets only
```
### Browse Categories
```
/index categories # List all categories
/index category politics # Browse politics markets
/index category crypto # Browse crypto markets
/index category sports # Browse sports markets
/index trending # Trending markets
```
### Market Discovery
```
/index new # Newly created markets
/index new --last 24h # Last 24 hours
/index hot # High activity markets
/index closing-soon # Markets ending soon
```
### Index Management
```
/index update # Refresh market index
/index update poly # Update specific platform
/index stats # Index statistics
/index status # Index health status
```
---
## TypeScript API Reference
### Create Market Index
```typescript
import { createMarketIndex } from 'clodds/market-index';
const index = createMarketIndex({
platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],
// Auto-refresh
autoRefresh: true,
refreshIntervalMs: 300000, // 5 minutes
// Storage
cachePath: './market-index.db',
});
```
### Search Markets
```typescript
// Full-text search
const results = await index.search('trump election', {
platforms: ['polymarket', 'kalshi'],
limit: 20,
sortBy: 'volume', // 'volume' | 'relevance' | 'endDate' | 'created'
});
for (const market of results) {
console.log(`[${market.platform}] ${market.question}`);
console.log(` Category: ${market.category}`);
console.log(` Volume: $${market.volume.toLocaleString()}`);
console.log(` End: ${market.endDate}`);
}
// With filters
const filtered = await index.search('', {
category: 'politics',
minVolume: 10000,
activeOnly: true,
endsBefore: '2024-12-31',
});
```
### Browse Categories
```typescript
// Get all categories
const categories = await index.getCategories();
for (const cat of categories) {
console.log(`${cat.name}: ${cat.marketCount} markets`);
}
// Get markets in category
const politics = await index.getMarketsByCategory('politics', {
limit: 50,
sortBy: 'volume',
});
```
### Market Discovery
```typescript
// Get new markets
const newMarkets = await index.getNewMarkets({
since: Date.now() - 24 * 60 * 60 * 1000, // Last 24h
limit: 20,
});
// Get trending/hot markets
const trending = await index.getTrendingMarkets({
period: '24h',
limit: 10,
});
for (const market of trending) {
console.log(`${market.question}`);
console.log(` Volume 24h: $${market.volume24h.toLocaleString()}`);
console.log(` Volume change: ${market.volumeChange > 0 ? '+' : ''}${market.volumeChange}%`);
}
// Markets closing soon
const closingSoon = await index.getClosingSoon({
within: '48h',
minVolume: 1000,
});
```
### Index Management
```typescript
// Update index
await index.update();
// Update specific platform
await index.update('polymarket');
// Get index stats
const stats = await index.getStats();
console.log(`Total markets: ${stats.totalMarkets}`);
console.log(`By platform:`);
for (const [platform, count] of Object.entries(stats.byPlatform)) {
console.log(` ${platform}: ${count}`);
}
console.log(`By category:`);
for (const [category, count] of Object.entries(stats.byCategory)) {
console.log(` ${category}: ${count}`);
}
console.log(`Last updated: ${stats.lastUpdated}`);
// Check status
const status = await index.getStatus();
console.log(`Status: ${status.status}`);
console.log(`Markets indexed: ${status.marketCount}`);
console.log(`Index age: ${status.ageMinutes} minutes`);
```
### Get Single Market
```typescript
// Get market details
const market = await index.getMarket('polymarket', 'market-123');
console.log(`Question: ${market.question}`);
console.log(`Description: ${market.description}`);
console.log(`Category: ${market.category}`);
console.log(`Platform: ${market.platform}`);
console.log(`Volume: $${market.volume.toLocaleString()}`);
console.log(`Liquidity: $${market.liquidity.toLocaleString()}`);
console.log(`Start: ${market.startDate}`);
console.log(`End: ${market.endDate}`);
console.log(`Outcomes: ${market.outcomes.join(', ')}`);
```
---
## Categories
Standard categories across platforms:
| Category | Description |
|----------|-------------|
| **politics** | Elections, policy, government |
| **crypto** | Cryptocurrency prices, events |
| **finance** | Fed rates, stocks, economy |
| **sports** | Games, tournaments, awards |
| **entertainment** | Movies, TV, celebrities |
| **science** | Research, space, climate |
| **technology** | Tech companies, products |
| **world** | International events |
| **other** | Miscellaneous |
---
## Search Syntax
| Syntax | Example | Description |
|--------|---------|-------------|
| Keywords | `trump election` | Match any word |
| Exact phrase | `"federal reserve"` | Match exact phrase |
| Exclude | `election -trump` | Exclude word |
| Platform filter | `platform:poly` | Specific platform |
| Category filter | `category:politics` | Specific category |
---
## Sorting Options
| Option | Description |
|--------|-------------|
| `volume` | Highest volume first |
| `relevance` | Best match first |
| `endDate` | Ending soonest first |
| `created` | Newest first |
| `liquidity` | Highest liquidity first |
---
## Best Practices
1. **Refresh regularly** - Markets change frequently
2. **Use filters** - Narrow down large result sets
3. **Check liquidity** - Not just volume
4. **Monitor new markets** - Opportunities in new listings
5. **Track closing dates** - Don't miss resolution
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Includes source scripts; review them before use. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.