Skip to main content

Feed Discovery

List All Feeds

const feeds = await sf.discover();

feeds.forEach(f => {
  console.log(`${f.id}${f.price_display}${f.category}`);
});

Filter by Category

const onchain = await sf.discover({ category: 'on-chain' });
// → smart-money-flows, wallet-profiler, smart-money-holdings, dex-trades, whale-alerts

const analytics = await sf.discover({ category: 'analytics' });
// → defi-scores, token-intel, stablecoin-flows
Available categories: on-chain, social, analytics, derivatives, infrastructure, discovery, governance, security, development, cross-chain.

Filter by Price

// Cheap feeds only (≤ 0.005 STX)
const cheap = await sf.discover({ maxPrice: 0.005 });

// Premium feeds (≥ 0.05 STX)
const premium = await sf.discover({ minPrice: 0.05 });

// Price range
const mid = await sf.discover({ minPrice: 0.005, maxPrice: 0.02 });

Combine Filters

const cheapOnchain = await sf.discover({
  category: 'on-chain',
  maxPrice: 0.01,
});

Get Single Feed Info

const info = await sf.getFeed('smart-money-flows');

if (info) {
  console.log(info.id);                // 'smart-money-flows'
  console.log(info.price_stx);         // 0.08
  console.log(info.price_display);     // '0.08 STX'
  console.log(info.category);          // 'on-chain'
  console.log(info.description);       // 'Smart money net flows...'
  console.log(info.update_frequency);  // 'every 5 minutes'
  console.log(info.stats.total_queries);  // 142
}

FeedInfo Type

interface FeedInfo {
  id: string;
  endpoint: string;
  price_stx: number;
  price_display: string;
  description: string;
  category: FeedCategory;
  update_frequency: string;
  response_format: string;
  stats: {
    total_queries: number;
    avg_response_ms: number;
    uptime_percent: number;
  };
}

Caching

Discovery results are cached in memory. To force a refresh:
// Uses cache (fast)
const feeds = await sf.discover();

// Force refresh from API
const fresh = await sf.discover(undefined, true);