diff --git a/app/api/v1/paid/[product]/route.ts b/app/api/v1/paid/[product]/route.ts
index 65076eb..44e6f34 100644
--- a/app/api/v1/paid/[product]/route.ts
+++ b/app/api/v1/paid/[product]/route.ts
@@ -24,7 +24,160 @@ function paymentRequired(req: NextRequest, product: NonNullable<ReturnType<typeo
   );
 }
 
-function payload(productId: string, req: NextRequest, proof: string) {
+type VendorLead = {
+  source: string;
+  target: string;
+  url: string;
+  segment: string;
+  fit_score: number;
+  reason: string;
+  suggested_paid_offer: string;
+  outreach_angle: string;
+  pyrimid_next_step: string;
+  catalog_seed: {
+    category: string;
+    tags: string[];
+    affiliate_bps: number;
+    starter_price_usdc: string;
+  };
+  risk_notes: string[];
+};
+
+type GitHubRepo = {
+  full_name?: string;
+  html_url?: string;
+  description?: string | null;
+  stargazers_count?: number;
+  updated_at?: string;
+  topics?: string[];
+};
+
+const SEGMENT_PROFILES: Record<string, { query: string; offer: string; category: string; tags: string[] }> = {
+  mcp: {
+    query: 'mcp server tools language:TypeScript',
+    offer: 'Gate high-value MCP tools behind x402 while keeping discovery tools free.',
+    category: 'mcp-tools',
+    tags: ['mcp', 'tools', 'x402', 'base-usdc'],
+  },
+  'agent-frameworks': {
+    query: 'agent framework marketplace tools language:TypeScript',
+    offer: 'Add Pyrimid as an agent-native paid-tool resolver and earn affiliate fees.',
+    category: 'agent-frameworks',
+    tags: ['agents', 'framework', 'affiliate', 'x402'],
+  },
+  'api-tools': {
+    query: 'ai api enrichment export language:TypeScript',
+    offer: 'Turn costly API calls into per-call paid endpoints with Base USDC settlement.',
+    category: 'api-tools',
+    tags: ['api', 'paid-endpoint', 'base-usdc', 'x402'],
+  },
+};
+
+function profileFor(segment: string) {
+  return SEGMENT_PROFILES[segment] || SEGMENT_PROFILES.mcp;
+}
+
+function scoreRepo(repo: GitHubRepo, segment: string) {
+  const text = `${repo.full_name || ''} ${repo.description || ''} ${(repo.topics || []).join(' ')}`.toLowerCase();
+  let score = 50;
+  if (text.includes('mcp')) score += 20;
+  if (text.includes('api') || text.includes('tool')) score += 10;
+  if (text.includes('agent')) score += 10;
+  if ((repo.stargazers_count || 0) >= 100) score += 5;
+  if (segment === 'api-tools' && text.includes('data')) score += 5;
+  return Math.min(score, 95);
+}
+
+function leadFromRepo(repo: GitHubRepo, segment: string): VendorLead {
+  const profile = profileFor(segment);
+  const target = repo.full_name || 'unknown/repository';
+  return {
+    source: 'github-search',
+    target,
+    url: repo.html_url || `https://github.com/search?q=${encodeURIComponent(profile.query)}`,
+    segment,
+    fit_score: scoreRepo(repo, segment),
+    reason: repo.description || `Repository matched discovery query: ${profile.query}`,
+    suggested_paid_offer: profile.offer,
+    outreach_angle: `Offer ${target} a small paid-tool pilot: one premium route, one catalog listing, and one affiliate-friendly launch CTA.`,
+    pyrimid_next_step: 'Create vendorId/productId, set price + affiliateBps, return 402 accepts[] before paid work, and list in the Pyrimid catalog.',
+    catalog_seed: {
+      category: profile.category,
+      tags: profile.tags,
+      affiliate_bps: 3000,
+      starter_price_usdc: '$0.05-$0.25',
+    },
+    risk_notes: ['Verify license and maintainer contact before outreach.', 'Do not pitch private data scraping or unauthorized paid access.'],
+  };
+}
+
+function fallbackLeads(segment: string): VendorLead[] {
+  const profile = profileFor(segment);
+  return [
+    {
+      source: 'seed-profile',
+      target: segment === 'mcp' ? 'MCP servers with expensive search/enrichment tools' : 'Agent/API vendors with repeat buyer-agent calls',
+      url: `https://github.com/search?q=${encodeURIComponent(profile.query)}`,
+      segment,
+      fit_score: 75,
+      reason: 'The target category already exposes tool-like calls, so x402 per-call monetization is low-friction.',
+      suggested_paid_offer: profile.offer,
+      outreach_angle: 'Lead with a tiny paid endpoint pilot: keep browse/list free, charge only for high-value execution.',
+      pyrimid_next_step: 'Register vendor/product metadata, publish an HTTPS paid route, then route purchase attempts through Pyrimid.',
+      catalog_seed: {
+        category: profile.category,
+        tags: profile.tags,
+        affiliate_bps: 3000,
+        starter_price_usdc: '$0.05-$0.25',
+      },
+      risk_notes: ['Treat this as a prospecting lead until a public maintainer/contact is verified.'],
+    },
+  ];
+}
+
+async function vendorLeadDiscovery(query: Record<string, string>) {
+  const segment = query.segment || 'mcp';
+  const limit = Math.min(Number(query.limit || '5') || 5, 8);
+  const profile = profileFor(segment);
+  const githubUrl = `https://api.github.com/search/repositories?q=${encodeURIComponent(profile.query)}&sort=updated&per_page=${limit}`;
+  let leads: VendorLead[] = [];
+  let discovery_status = 'fallback';
+
+  try {
+    const response = await fetch(githubUrl, {
+      headers: { Accept: 'application/vnd.github+json', 'User-Agent': 'pyrimid-vendor-lead-discovery' },
+      signal: AbortSignal.timeout(2500),
+    });
+    if (response.ok) {
+      const data = await response.json() as { items?: GitHubRepo[] };
+      leads = (data.items || []).map((repo) => leadFromRepo(repo, segment));
+      discovery_status = 'github-search-ok';
+    } else {
+      discovery_status = `github-search-http-${response.status}`;
+    }
+  } catch {
+    discovery_status = 'github-search-timeout-or-error';
+  }
+
+  if (!leads.length) leads = fallbackLeads(segment);
+
+  return {
+    segment,
+    discovery_status,
+    discovery_queries: {
+      github: githubUrl,
+      mcp_directory: 'https://github.com/modelcontextprotocol/servers',
+      pyrimid_catalog: 'https://pyrimid.ai/api/v1/catalog?source=pyrimid-seed',
+    },
+    scoring_model: {
+      high_fit: 'MCP/API/agent projects with repeatable high-value calls, recent activity, and public maintainer surface.',
+      avoid: 'Closed-source services, private-data scraping, regulated decisions, or projects without clear contact/license.',
+    },
+    leads: leads.sort((a, b) => b.fit_score - a.fit_score).slice(0, limit),
+  };
+}
+
+async function payload(productId: string, req: NextRequest, proof: string) {
   const query = Object.fromEntries(req.nextUrl.searchParams.entries());
 
   switch (productId) {
@@ -52,15 +205,7 @@ function payload(productId: string, req: NextRequest, proof: string) {
       };
     }
     case 'vendor-lead-discovery': {
-      const segment = query.segment || 'mcp';
-      return {
-        segment,
-        leads: [
-          { segment: 'mcp', target: 'MCP servers with paid/data-heavy tools', pitch: 'Add optional x402 payment gate + Pyrimid catalog listing.' },
-          { segment: 'agent-frameworks', target: 'Agent frameworks with marketplace/plugin systems', pitch: 'Let builders sell tools to agents with Base USDC settlement.' },
-          { segment: 'api-tools', target: 'AI API services with per-call cost', pitch: 'Turn API calls into agent-purchasable products.' },
-        ],
-      };
+      return vendorLeadDiscovery(query);
     }
     case 'mcp-server-audit': {
       const url = query.url || 'https://example.com/mcp';
@@ -128,7 +273,7 @@ export async function GET(req: NextRequest, context: { params: Promise<{ product
     payment_tx: verification.txHash,
     payment_amount: verification.amount?.toString(),
     buyer: verification.buyer,
-    ...payload(product.product_id, req, proof),
+    ...(await payload(product.product_id, req, proof)),
     routed_by: 'pyrimid',
     links: {
       docs: 'https://pyrimid.ai/quickstart',
diff --git a/README.md b/README.md
index b9e641b..112a3e6 100644
--- a/README.md
+++ b/README.md
@@ -119,7 +119,7 @@ Call these without payment to receive HTTP 402 with x402 `accepts[]` metadata. R
 | `/api/v1/paid/agentzone-search?q=agent-commerce` | $0.05 | Trusted agent search |
 | `/api/v1/paid/mya-agent-enrichment?agent=demo` | $0.10 | Agent listing enrichment |
 | `/api/v1/paid/mya-category-scout?category=developer-tools` | $0.05 | Category scouting for buyer agents |
-| `/api/v1/paid/vendor-lead-discovery?segment=mcp` | $0.25 | Vendor lead discovery |
+| `/api/v1/paid/vendor-lead-discovery?segment=mcp&limit=5` | $0.25 | Scored vendor lead discovery |
 | `/api/v1/paid/mcp-server-audit?url=https://example.com/mcp` | $0.10 | MCP monetization audit |
 | `/api/v1/paid/x402-integration-plan?service=agent-api` | $0.10 | Vendor x402 integration plan |
 
diff --git a/lib/seed-products.ts b/lib/seed-products.ts
index c47b524..a5e57a6 100644
--- a/lib/seed-products.ts
+++ b/lib/seed-products.ts
@@ -115,15 +115,39 @@ export const SEED_PRODUCTS: Omit<SeedProduct, 'indexed_at'>[] = [
     vendor_name: 'Pyrimid Growth',
     vendor_erc8004: false,
     product_id: 'vendor-lead-discovery',
-    description: 'Paid vendor lead discovery for agents: returns high-fit AI agent/API vendors to contact for x402 monetization.',
+    description: 'Paid vendor lead discovery for agents: searches GitHub/MCP/x402 target surfaces, scores vendor leads, and returns clean outreach/catalog JSON.',
     category: 'growth-data',
     tags: ['vendor-discovery', 'lead-gen', 'ai-api', 'agent-frameworks', 'x402'],
     price_usdc: 250000,
     price_display: '$0.25',
     affiliate_bps: 4000,
-    endpoint: `${SEED_PRODUCT_BASE}/vendor-lead-discovery?segment=mcp`,
+    endpoint: `${SEED_PRODUCT_BASE}/vendor-lead-discovery?segment=mcp&limit=5`,
     method: 'GET',
-    output_schema: { type: 'object', properties: { leads: { type: 'array' }, routed_by: { const: 'pyrimid' } } },
+    output_schema: {
+      type: 'object',
+      properties: {
+        segment: { type: 'string' },
+        discovery_status: { type: 'string' },
+        discovery_queries: { type: 'object' },
+        scoring_model: { type: 'object' },
+        leads: {
+          type: 'array',
+          items: {
+            type: 'object',
+            properties: {
+              source: { type: 'string' },
+              target: { type: 'string' },
+              url: { type: 'string' },
+              fit_score: { type: 'number' },
+              suggested_paid_offer: { type: 'string' },
+              catalog_seed: { type: 'object' },
+              risk_notes: { type: 'array' },
+            },
+          },
+        },
+        routed_by: { const: 'pyrimid' },
+      },
+    },
     monthly_volume: 0,
     monthly_buyers: 0,
     network: 'base',
diff --git a/public/agents.txt b/public/agents.txt
index 1004b04..de94dea 100644
--- a/public/agents.txt
+++ b/public/agents.txt
@@ -33,7 +33,7 @@ These are live buyer-agent test surfaces. Call without payment to receive a 402
 - https://pyrimid.ai/api/v1/paid/agentzone-search?q=agent-commerce — $0.05 AgentZone trusted search.
 - https://pyrimid.ai/api/v1/paid/mya-agent-enrichment?agent=demo — $0.10 agent listing enrichment.
 - https://pyrimid.ai/api/v1/paid/mya-category-scout?category=developer-tools — $0.05 category scout.
-- https://pyrimid.ai/api/v1/paid/vendor-lead-discovery?segment=mcp — $0.25 vendor lead discovery.
+- https://pyrimid.ai/api/v1/paid/vendor-lead-discovery?segment=mcp&limit=5 — $0.25 scored vendor lead discovery.
 - https://pyrimid.ai/api/v1/paid/mcp-server-audit?url=https://example.com/mcp — $0.10 MCP monetization audit.
 - https://pyrimid.ai/api/v1/paid/x402-integration-plan?service=agent-api — $0.10 vendor integration plan.
 
diff --git a/public/llms.txt b/public/llms.txt
index 1ab3b6c..f5ae709 100644
--- a/public/llms.txt
+++ b/public/llms.txt
@@ -27,7 +27,7 @@ These return HTTP 402 until the agent supplies `X-PAYMENT` or `X-PAYMENT-TX`.
 - GET /api/v1/paid/agentzone-search?q=agent-commerce — $0.05 trusted agent search.
 - GET /api/v1/paid/mya-agent-enrichment?agent=demo — $0.10 agent listing enrichment.
 - GET /api/v1/paid/mya-category-scout?category=developer-tools — $0.05 category scout for buyer agents.
-- GET /api/v1/paid/vendor-lead-discovery?segment=mcp — $0.25 vendor lead discovery.
+- GET /api/v1/paid/vendor-lead-discovery?segment=mcp&limit=5 — $0.25 scored vendor lead discovery.
 - GET /api/v1/paid/mcp-server-audit?url=https://example.com/mcp — $0.10 MCP monetization audit.
 - GET /api/v1/paid/x402-integration-plan?service=agent-api — $0.10 vendor x402 integration plan.
 
