diff --git a/frontend/src/app/admin/page.tsx b/frontend/src/app/admin/page.tsx
index fffaf1d..3a6040b 100644
--- a/frontend/src/app/admin/page.tsx
+++ b/frontend/src/app/admin/page.tsx
@@ -162,7 +162,7 @@ export default function AdminPage() {
// Load data when tab changes
useEffect(() => {
if (!user?.is_admin) return
- loadAdminData()
+ loadAdminData()
}, [activeTab, user?.is_admin])
const toggleSidebar = () => {
@@ -199,27 +199,27 @@ export default function AdminPage() {
setNewsletter(nlData.subscribers)
setNewsletterTotal(nlData.total)
} else if (activeTab === 'system') {
- const [healthData, schedulerData] = await Promise.all([
+ const [healthData, schedulerData] = await Promise.all([
api.getSystemHealth().catch(() => null),
api.getSchedulerStatus().catch(() => null),
- ])
- setSystemHealth(healthData)
- setSchedulerStatus(schedulerData)
+ ])
+ setSystemHealth(healthData)
+ setSchedulerStatus(schedulerData)
const backupData = await api.listDbBackups(20).catch(() => ({ backups: [] }))
setBackups(backupData.backups || [])
const opsHistory = await api.getOpsAlertsHistory(50).catch(() => ({ events: [] }))
setOpsAlertsHistory(opsHistory.events || [])
} else if (activeTab === 'activity') {
const logData = await api.getActivityLog(50, 0).catch(() => ({ logs: [], total: 0 }))
- setActivityLog(logData.logs)
- setActivityLogTotal(logData.total)
+ setActivityLog(logData.logs)
+ setActivityLogTotal(logData.total)
} else if (activeTab === 'blog') {
const blogData = await api.getAdminBlogPosts(50, 0).catch(() => ({ posts: [], total: 0 }))
- setBlogPosts(blogData.posts)
- setBlogPostsTotal(blogData.total)
+ setBlogPosts(blogData.posts)
+ setBlogPostsTotal(blogData.total)
}
} catch (err) {
- setError(err instanceof Error ? err.message : 'Failed to load admin data')
+ setError(err instanceof Error ? err.message : 'Failed to load admin data')
} finally {
setLoading(false)
}
@@ -569,9 +569,9 @@ export default function AdminPage() {
{/* Page Content */}
{/* Messages */}
- {error && (
+ {error && (
-
+
{error}
- )}
+
+
+ )}
{/* Activity Tab */}
{activeTab === 'activity' && (
@@ -970,9 +970,9 @@ export default function AdminPage() {
{ key: 'time', header: 'Time', hideOnMobile: true, render: (l) => {new Date(l.created_at).toLocaleString()} },
]}
/>
- )}
- >
- )}
+ )}
+ >
+ )}
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
index a698d3f..72418bd 100644
--- a/frontend/src/app/page.tsx
+++ b/frontend/src/app/page.tsx
@@ -9,30 +9,19 @@ import { useStore } from '@/lib/store'
import { api } from '@/lib/api'
import {
ArrowRight,
- ChevronRight,
Zap,
Globe,
Check,
- Search,
Target,
Gavel,
Activity,
Lock,
- Crosshair,
- Coins,
- Layers,
ArrowUpRight,
ShieldCheck,
- Network,
- Share2,
- Key,
Shield,
Radar,
Scan,
- Radio,
- Cpu,
Clock,
- ExternalLink
} from 'lucide-react'
import Link from 'next/link'
import clsx from 'clsx'
@@ -175,8 +164,8 @@ export default function HomePage() {
{/* Subline */}
- Transforming domains from static addresses into yield-bearing financial assets.
- Scan. Acquire. Route. Profit.
+ High-density domain intelligence for investors and operators.
+ Scan. Track. Trade.
{/* Stats Grid - Mobile 2x2 */}
@@ -251,40 +240,40 @@ export default function HomePage() {
-
The Broken Model
+
The Problem
- 99% of portfolios are
bleeding cash.
+ The domain market is
high-noise.
-
Investors pay renewal fees for years, hoping for a "Unicorn" sale that never happens.
-
Traditional parking pays pennies. Marketplaces charge 20% fees. The system drains your capital.
+
Prices are fragmented across registrars and marketplaces. Most feeds are spam-heavy and hard to act on.
+
The real traps are hidden: renewal inflation, policy changes, and timing windows you miss while you sleep.
-
The Pounce Protocol
-
Asset Class V2.0
+
The Pounce Terminal
+
High Density. Low Noise.
-
- Deep Recon
- Zone file analysis reveals what's truly valuable.
+ Clean Market Feeds
+ Spam-filtered auctions and opportunities you can act on.
-
-
+
- Frictionless Liquidity
- Instant settlement. 0% Commission.
+ Renewal & Pricing Intel
+ Spot renewal traps, registrar deltas, and TLD inflation.
-
-
+
- Automated Yield
- Domains pay for their own renewals.
+ Watchlist Ops
+ Monitor domains, get alerts, and move fast.
@@ -304,14 +293,14 @@ export default function HomePage() {
Core Architecture
- The Lifecycle
- Engine.
+ The Terminal
+ Stack.
// INTELLIGENCE_LAYER_ACTIVE
// MARKET_PROTOCOL_READY
- // YIELD_GENERATION_STANDBY
+ // MONITORING_ONLINE
@@ -320,29 +309,29 @@ export default function HomePage() {
{[
{
module: '01',
- title: 'Intelligence',
- desc: '"Identify Targets." We scan 886+ TLDs to uncover pricing traps, trends, and opportunities.',
+ title: 'Discover',
+ desc: '"Identify Targets." Find drops, auctions, and pricing anomalies without digging through spam.',
features: [
- { icon: Scan, title: 'Global Scan', desc: 'Zone file analysis' },
- { icon: Target, title: 'Valuation AI', desc: 'Instant fair-market value' },
+ { icon: Radar, title: 'Clean Feed', desc: 'No-bullshit filtering' },
+ { icon: Scan, title: 'TLD Intel', desc: 'Renewal & inflation signals' },
],
},
{
module: '02',
- title: 'Market',
- desc: '"Secure the Asset." Direct access to liquidity with verified owners and 0% commission.',
+ title: 'Acquire',
+ desc: '"Secure the Asset." Execute fast: auctions, direct listings, and verified owners.',
features: [
{ icon: ShieldCheck, title: 'Verified Owners', desc: 'Mandatory DNS check' },
- { icon: Gavel, title: 'Direct Execution', desc: 'P2P transfers' },
+ { icon: Gavel, title: 'Execution', desc: 'Auctions & direct deals' },
],
},
{
module: '03',
- title: 'Yield',
- desc: '"Deploy the Asset." Transform idle domains into automated revenue generators.',
+ title: 'Track',
+ desc: '"Stay Ahead." Monitor domains and get alerted the second something changes.',
features: [
- { icon: Layers, title: 'Intent Routing', desc: 'Traffic to partners' },
- { icon: Coins, title: 'Passive Income', desc: 'Monthly payouts' },
+ { icon: Activity, title: 'Monitoring', desc: 'Health & change detection' },
+ { icon: Zap, title: 'Alerts', desc: 'Fast notifications' },
],
},
].map((pillar, i) => (
@@ -380,38 +369,6 @@ export default function HomePage() {
- {/* ═══════════════════════════════════════════════════════════════════════ */}
- {/* INTENT ROUTING */}
- {/* ═══════════════════════════════════════════════════════════════════════ */}
-
-
-
-
-
The Endgame
-
Intent Routing™
-
- Our engine detects user intent and routes traffic directly to high-paying partners.
-
-
-
-
- {[
- { icon: Network, step: '1', title: 'Connect', desc: 'Point nameservers to ns.pounce.io' },
- { icon: Cpu, step: '2', title: 'Analyze', desc: 'We scan the semantic intent of your domain' },
- { icon: Share2, step: '3', title: 'Route', desc: 'Traffic is routed to vertical partners' },
- ].map((item, i) => (
-
-
-
-
-
{item.step}. {item.title}
-
{item.desc}
-
- ))}
-
-
-
-
{/* ═══════════════════════════════════════════════════════════════════════ */}
{/* MARKET DEEP DIVE */}
{/* ═══════════════════════════════════════════════════════════════════════ */}
diff --git a/frontend/src/app/pricing/page.tsx b/frontend/src/app/pricing/page.tsx
index 443a393..728b921 100644
--- a/frontend/src/app/pricing/page.tsx
+++ b/frontend/src/app/pricing/page.tsx
@@ -26,7 +26,7 @@ const tiers = [
{ text: 'TLD Intel', highlight: false, available: true, sublabel: 'Public' },
{ text: 'Pounce Score', highlight: false, available: false },
{ text: 'Marketplace', highlight: false, available: true, sublabel: 'Buy Only' },
- { text: 'Yield (Intent Routing)', highlight: false, available: false },
+ { text: 'Yield (Beta)', highlight: false, available: false },
],
cta: 'Enter Terminal',
highlighted: false,
@@ -49,7 +49,7 @@ const tiers = [
{ text: 'Pounce Score', highlight: true, available: true },
{ text: '5 Listings', highlight: true, available: true, sublabel: '0% Fee' },
{ text: 'Portfolio', highlight: true, available: true, sublabel: '25 Domains' },
- { text: 'Yield (Intent Routing)', highlight: true, available: true, sublabel: '70% Rev Share' },
+ { text: 'Yield (Beta)', highlight: false, available: true, sublabel: 'Optional' },
],
cta: 'Upgrade to Trader',
highlighted: true,
@@ -62,7 +62,7 @@ const tiers = [
icon: Crown,
price: '29',
period: '/mo',
- description: 'Full firepower. Priority routes.',
+ description: 'Full firepower. Priority alerts.',
features: [
{ text: 'Market Feed', highlight: true, available: true, sublabel: 'Priority' },
{ text: 'Alert Speed', highlight: true, available: true, sublabel: '10 min' },
@@ -72,7 +72,7 @@ const tiers = [
{ text: 'Score + SEO Data', highlight: true, available: true },
{ text: '50 Listings', highlight: true, available: true, sublabel: 'Featured' },
{ text: 'Unlimited Portfolio', highlight: true, available: true },
- { text: 'Yield (Intent Routing)', highlight: true, available: true, sublabel: 'Priority Routes' },
+ { text: 'Yield (Beta)', highlight: false, available: true, sublabel: 'Optional' },
],
cta: 'Go Tycoon',
highlighted: false,
@@ -90,7 +90,7 @@ const comparisonFeatures = [
{ name: 'Valuation', scout: 'Locked', trader: 'Pounce Score', tycoon: 'Score + SEO' },
{ name: 'Marketplace', scout: 'Buy Only', trader: '5 Listings (0% Fee)', tycoon: '50 Featured' },
{ name: 'Portfolio', scout: '—', trader: '25 Domains', tycoon: 'Unlimited' },
- { name: 'Yield (Intent Routing)', scout: '—', trader: '70% Rev Share', tycoon: 'Priority Routes' },
+ { name: 'Yield (Beta)', scout: '—', trader: 'Optional', tycoon: 'Optional' },
]
const faqs = [
diff --git a/frontend/src/app/terminal/listing/page.tsx b/frontend/src/app/terminal/listing/page.tsx
index 69137e3..30ecbce 100755
--- a/frontend/src/app/terminal/listing/page.tsx
+++ b/frontend/src/app/terminal/listing/page.tsx
@@ -459,30 +459,30 @@ function ListingRow({
return (
- {/* Mobile */}
-
-
-
+ {/* Mobile */}
+
+
+
{listing.is_verified ?
:
}
-
+
- {listing.domain}
+ {listing.domain}
{isTycoon && Featured}
-
-
+ {listing.status}
-
+ )}>{listing.status}
+
${listing.asking_price?.toLocaleString() || 'Make Offer'}
- {listing.view_count} views · {listing.inquiry_count} leads
-
+
{listing.view_count} views · {listing.inquiry_count} leads
+
{isDraft && needsVerification && (
@@ -495,9 +495,9 @@ function ListingRow({
)}
{isActive && (
-
- View
-
+
+ View
+
)}
{isActive && (
)}
+ className="px-4 py-2 border border-white/[0.08] text-white/40 hover:text-rose-400">
{isDeleting ? : }
-
-
-
-
- {/* Desktop */}
+
+
+
+
+ {/* Desktop */}
-
+
{listing.is_verified ?
:
}
-
-
- {listing.domain}
- {isTycoon && Featured}
+
+
+ {listing.domain}
+ {isTycoon && Featured}
{!listing.is_verified && Unverified}
-
-
-
${listing.asking_price?.toLocaleString() || '—'}
-
+
+
+
${listing.asking_price?.toLocaleString() || '—'}
+
{listing.status}
-
-
{listing.view_count}
-
{listing.inquiry_count}
+ )}>{listing.status}
+
+
{listing.view_count}
+
{listing.inquiry_count}
{isDraft && needsVerification && (
@@ -562,9 +562,9 @@ function ListingRow({
)}
{isActive && (
-
-
-
+
+
+
)}
{isActive && (
)}
+ className="w-7 h-7 flex items-center justify-center border border-white/10 text-white/30 hover:text-rose-400">
{isDeleting ? : }
-
-
-
-
+
+
+
+
)
}
@@ -637,7 +637,7 @@ function MarkSoldModal({ listing, onClose, onDone }: { listing: Listing; onClose
Mark Sold
{listing.domain}
Close the deal and capture GMV (optional).
-
+
@@ -658,7 +658,7 @@ function MarkSoldModal({ listing, onClose, onDone }: { listing: Listing; onClose
-
+
@@ -877,7 +877,7 @@ function LeadsModal({ listing, onClose }: { listing: Listing; onClose: () => voi
>
{updatingId === inq.id ? : }
Read
-
+
)}
voi
Email
-
+
{closingId === inq.id && (
@@ -955,14 +955,14 @@ function LeadsModal({ listing, onClose }: { listing: Listing; onClose: () => voi
>
{updatingId === inq.id ? 'Closing…' : 'Confirm'}
-
-
+
+
)}
+
+ ))}
- ))}
-
-
+
)}
{/* THREAD MODAL (nested) */}
@@ -989,7 +989,7 @@ function LeadsModal({ listing, onClose }: { listing: Listing; onClose: () => voi
{loadingThread ? (
-
+
) : threadMessages.length === 0 ? (
No messages yet.
) : (
@@ -1004,7 +1004,7 @@ function LeadsModal({ listing, onClose }: { listing: Listing; onClose: () => voi
{m.sender_user_id === user?.id ? 'You' : 'Buyer'}
{new Date(m.created_at).toLocaleString('en-US')}
-
+
{m.body}
))
@@ -1162,7 +1162,7 @@ function CreateListingWizard({ onClose, onSuccess, prefillDomain }: {
New Listing
-
+
{/* Step Indicators */}
@@ -1199,12 +1199,12 @@ function CreateListingWizard({ onClose, onSuccess, prefillDomain }: {
Step 1 of 3: Set your domain and price
-
+
{loadingDomains ? (
-
+
) : portfolioDomains.length === 0 ? (
@@ -1230,7 +1230,7 @@ function CreateListingWizard({ onClose, onSuccess, prefillDomain }: {
-
+
Make Offer
-
+
{priceType === 'fixed' && (
@@ -1272,8 +1272,8 @@ function CreateListingWizard({ onClose, onSuccess, prefillDomain }: {
className="w-full py-3 bg-accent text-black text-xs font-bold uppercase tracking-wider flex items-center justify-center gap-2 disabled:opacity-50 hover:bg-white transition-colors"
>
{loading ?
: <>Next: Verify Ownership
>}
-
-
+
+
)}
{/* STEP 2: DNS Verification */}
diff --git a/frontend/src/app/terminal/portfolio/page.tsx b/frontend/src/app/terminal/portfolio/page.tsx
index 70eabea..a766267 100755
--- a/frontend/src/app/terminal/portfolio/page.tsx
+++ b/frontend/src/app/terminal/portfolio/page.tsx
@@ -188,7 +188,7 @@ function EditModal({
setSaving(false)
}
}
-
+
return (
{domain.domain}
-
+
@@ -363,8 +363,8 @@ function EditModal({
className="w-full px-3 py-2 bg-white/5 border border-white/10 text-white text-sm font-mono focus:border-accent/50 focus:outline-none"
/>
-
- )}
+
+ )}
{/* Actions */}
@@ -781,7 +781,7 @@ export default function PortfolioPage() {
setHealthByDomain(prev => ({ ...prev, [key]: report }))
} catch {
// Silently fail for individual domains
- } finally {
+ } finally {
setCheckingHealth(prev => {
const next = new Set(prev)
next.delete(key)
@@ -1077,8 +1077,8 @@ export default function PortfolioPage() {
Add
-
-
+
+
{/* Tab Bar - Scrollable */}
@@ -1124,18 +1124,18 @@ export default function PortfolioPage() {
+
My Portfolio
Track your domain investments. Add purchase details, monitor values, verify ownership, and list for sale.
-
-
-
+
+
+
{/* TABS - Directly under subtitle */}
- setActiveTab('assets')}
className={clsx(
'flex items-center gap-2 px-4 py-2.5 border transition-all',
@@ -1146,7 +1146,7 @@ export default function PortfolioPage() {
>
Assets
-
+
setActiveTab('financials')}
className={clsx(
@@ -1165,13 +1165,13 @@ export default function PortfolioPage() {
)}
-
-
+
+
{formatCurrency(summary?.total_invested || 0)}
Invested
-
+
{formatCurrency(summary?.total_value || 0)}
Value
@@ -1247,7 +1247,7 @@ export default function PortfolioPage() {
>
Refresh
-
+
) : (
<>
{/* Summary Cards */}
@@ -1256,7 +1256,7 @@ export default function PortfolioPage() {
Next 30 Days
-
+
${Math.round(cfoData.upcoming_30d_total_usd)}
{cfoData.upcoming_30d_rows.length} renewals due
@@ -1299,8 +1299,8 @@ export default function PortfolioPage() {
))}
-
- )}
+
+ )}
{/* Burn Rate Timeline */}
@@ -1315,7 +1315,7 @@ export default function PortfolioPage() {
- If a renewal cost is missing, fill it in on the domain in Assets → Edit.
- "Set to Drop" is a local flag — you still need to disable auto-renew at your registrar.
- Want to cover costs? Activate Yield only for DNS‑verified domains.
-
+
>
)}
@@ -1325,23 +1325,23 @@ export default function PortfolioPage() {
{/* ASSETS TAB (Domain List) */}
{activeTab === 'assets' && (
<>
- {loading ? (
-
) : !filteredDomains.length ? (
No domains found
Add your first domain to start tracking
-
setShowAddModal(true)}
+ setShowAddModal(true)}
className="inline-flex items-center gap-2 px-4 py-2 bg-accent text-black text-xs font-bold uppercase"
- >
+ >
Add Domain
-
-
- ) : (
+
+
+ ) : (
{/* Desktop Table Header */}
@@ -1386,12 +1386,12 @@ export default function PortfolioPage() {
{/* Domain */}
-
+ )}>
{domain.is_sold ? : }
-
+
{domain.domain}
@@ -1404,7 +1404,7 @@ export default function PortfolioPage() {
Verify
)}
-
+
@@ -1422,18 +1422,18 @@ export default function PortfolioPage() {
+{tags.length - 2}
)}
- )}
-
+ )}
+
{/* Purchased */}
{formatShortDate(domain.purchase_date)}
{formatCurrency(domain.purchase_price)}
-
+
{/* Expires */}
- {domain.is_sold ? (
+ {domain.is_sold ? (
Sold
) : (
<>
@@ -1445,7 +1445,7 @@ export default function PortfolioPage() {
{formatShortDate(domain.renewal_date)}
>
- )}
+ )}
{/* Value */}
@@ -1457,7 +1457,7 @@ export default function PortfolioPage() {
{formatROI(domain.roi)}
-
+
{/* Yield */}
@@ -1502,7 +1502,7 @@ export default function PortfolioPage() {
>
- )}
+ )}
handleDelete(domain.id, domain.domain)}
disabled={deletingId === domain.id}
@@ -1512,7 +1512,7 @@ export default function PortfolioPage() {
-
+
{/* MOBILE ROW */}
@@ -1527,7 +1527,7 @@ export default function PortfolioPage() {
domain.is_sold ? "bg-white/[0.02] border-white/[0.06]" : "bg-accent/10 border-accent/20"
)}>
{domain.is_sold ? : }
-
+
{domain.domain}
@@ -1535,16 +1535,16 @@ export default function PortfolioPage() {
{domain.registrar}
)}
{renderStatusBadges(domain)}
-
-
-
+
+
+
{formatCurrency(domain.estimated_value)}
{formatROI(domain.roi)}
-
-
-
+
+
+
{/* Quick info row */}
@@ -1557,42 +1557,42 @@ export default function PortfolioPage() {
)}
-
-
-
+
+
+
{/* Expanded details */}
{isExpanded && (
-
+
Purchased
{formatDate(domain.purchase_date)}
{formatCurrency(domain.purchase_price)}
-
-
+
+
Renewal
{formatDate(domain.renewal_date)}
{formatCurrency(domain.renewal_cost)}/yr
-
-
-
+
+
+
{domain.notes && (
+
)}
-
+
{/* Actions */}
{renderHealth(domain)}
- openAnalyze(domain.domain)}
className="flex items-center gap-1 px-2 py-1.5 text-[9px] font-mono uppercase border border-white/10 text-white/60 bg-white/5 hover:text-accent hover:border-accent/20 hover:bg-accent/10"
- >
+ >
Analyze
-
+
{!domain.is_dns_verified && !domain.is_sold && (
- setVerifyingDomain(domain)}
className="flex items-center gap-1 px-2 py-1.5 text-[9px] font-mono uppercase border border-amber-400/30 text-amber-400 bg-amber-400/5"
>
@@ -1636,16 +1636,16 @@ export default function PortfolioPage() {
className="p-1.5 text-white/30 hover:text-rose-400 ml-auto"
>
-
-
-
+
+
+
)}
)
})}
-
- )}
+
+ )}
>
)}
@@ -1673,7 +1673,7 @@ export default function PortfolioPage() {
Menu
-
+
{/* NAVIGATION DRAWER */}
@@ -1688,7 +1688,7 @@ export default function PortfolioPage() {
setNavDrawerOpen(false)} className="p-2 text-white/40">
-
+
{drawerNavSections.map(section => (
@@ -1708,21 +1708,21 @@ export default function PortfolioPage() {
{item.label}
))}
-
+
))}
-
+
{user && (
-
-
+
+
{user.email?.split('@')[0]}
{tierName}
-
-
+
+
Settings
@@ -1776,7 +1776,7 @@ export default function PortfolioPage() {
Health Check
{selectedHealthDomain.domain}
- setSelectedHealthDomain(null)}
className="p-2 text-white/40 hover:text-white transition-colors"
>
@@ -1801,12 +1801,12 @@ export default function PortfolioPage() {
cfg.bg, cfg.color, cfg.border
)}>
{cfg.label}
-
+
{health?.score !== undefined && (
Score: {health.score}/100
)}
-
-
+
+
{/* Checks */}
{health ? (
@@ -1824,8 +1824,8 @@ export default function PortfolioPage() {
FAIL
)}
-
-
+
+
{/* HTTP */}
HTTP Access
@@ -1833,15 +1833,15 @@ export default function PortfolioPage() {
OK
-
+
) : (
{health.http?.error?.substring(0, 15) || 'FAIL'}
-
- )}
-
-
+
+ )}
+
+
{/* SSL */}
SSL Certificate
@@ -1849,15 +1849,15 @@ export default function PortfolioPage() {
VALID
-
+
) : (
MISSING
-
- )}
-
-
+
+ )}
+
+
{/* Parked Status */}
Not Parked
@@ -1865,23 +1865,23 @@ export default function PortfolioPage() {
OK
-
+
) : (
- )}
-
-
+ )}
+
+
) : (
{isLoading ? 'Running health check...' : 'Click below to run health check'}
-
+
)}
-
+
{/* Run Check Button */}
- handleHealthCheck(selectedHealthDomain.domain)}
disabled={isLoading}
className="w-full py-3.5 bg-accent text-black text-sm font-bold uppercase tracking-wider hover:bg-white transition-colors flex items-center justify-center gap-2 disabled:opacity-50"
@@ -1894,14 +1894,14 @@ export default function PortfolioPage() {
{health ? 'Refresh Check' : 'Run Check'}
>
)}
-
+
>
)
})()}
-
-
- )}
+
+
+ )}
{toast && }
diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx
index 2d1e492..7bbb8db 100644
--- a/frontend/src/components/Footer.tsx
+++ b/frontend/src/components/Footer.tsx
@@ -66,7 +66,7 @@ export function Footer() {
- Global domain intelligence for serious investors. Scan. Acquire. Route. Yield.
+ High-density domain intelligence for serious investors. Scan. Track. Trade.
{/* Newsletter - Hidden on Mobile */}
@@ -144,7 +144,7 @@ export function Footer() {
{[
{ href: '/acquire', label: 'Acquire' },
{ href: '/discover', label: 'Discover' },
- { href: '/yield', label: 'Yield' },
+ { href: '/intelligence', label: 'Intel' },
{ href: '/pricing', label: 'Pricing' },
].map((link) => (
diff --git a/frontend/src/components/Header.tsx b/frontend/src/components/Header.tsx
index 4f4562a..cc593c9 100644
--- a/frontend/src/components/Header.tsx
+++ b/frontend/src/components/Header.tsx
@@ -35,7 +35,7 @@ export function Header() {
const publicNavItems = [
{ href: '/discover', label: 'Discover', icon: TrendingUp },
{ href: '/acquire', label: 'Acquire', icon: Gavel },
- { href: '/yield', label: 'Yield', icon: Coins },
+ { href: '/intelligence', label: 'Intel', icon: TrendingUp },
{ href: '/pricing', label: 'Pricing', icon: CreditCard },
]