diff --git a/next.config.ts b/next.config.ts index be6528ee..ad07b9bb 100644 --- a/next.config.ts +++ b/next.config.ts @@ -269,7 +269,7 @@ const nextConfig: NextConfig = { }, { source: "/apps", - destination: "/benchmarks", + destination: "/trading-apps", permanent: true, }, ...chainRedirects, diff --git a/src/app/trading-apps/page.tsx b/src/app/trading-apps/page.tsx new file mode 100644 index 00000000..fc4743fe --- /dev/null +++ b/src/app/trading-apps/page.tsx @@ -0,0 +1,172 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { pageMetadata } from "@/lib/page-metadata"; +import { safeJsonLd, buildBreadcrumbJsonLd } from "@/lib/jsonld"; +import { SITE } from "@/data/site"; + +const DESCRIPTION = + "Live benchmarks for Solana trading platforms and Telegram bots — volume, fees, execution quality, unique traders, and app store ratings."; + +export const metadata: Metadata = pageMetadata({ + path: "/trading-apps", + title: "Trading App Benchmarks — pump.fun, Axiom, GMGN, FOMO | OpenChainBench", + description: DESCRIPTION, +}); + +export const revalidate = 3600; + +const GROUPS = [ + { + label: "Volume & activity", + items: [ + { + slug: "solana-trading-platform-wars", + title: "Trading platform volume", + description: "24h volume for pump.fun, GMGN, Axiom, FOMO and Telegram bots. Updated every 15 min.", + }, + { + slug: "solana-dex-volume", + title: "DEX volume & protocol revenue", + description: "24h trading volume and protocol fees from DeFiLlama. Updated every 30 min.", + }, + { + slug: "solana-unique-traders", + title: "Unique traders", + description: "Unique swap transactions per platform in the last 24h. Whale vs retail signal.", + }, + { + slug: "solana-avg-trade-size", + title: "Average trade size", + description: "Average swap size in USD per platform — reveals trader profile.", + }, + ], + }, + { + label: "Launchpads", + items: [ + { + slug: "solana-launchpad-wars", + title: "Launchpad volume", + description: "24h volume for pump.fun, Flap, Bankr and other bonding-curve programs.", + }, + ], + }, + { + label: "Fees & execution", + items: [ + { + slug: "memecoin-platforms", + title: "Platform fee rates", + description: "Protocol fee revenue divided by volume — who earns most per dollar traded.", + }, + { + slug: "trading-app-execution", + title: "Execution quality", + description: "Priority fees, Jito bundle rates, CU price and platform fee per transaction.", + }, + ], + }, + { + label: "App store", + items: [ + { + slug: "app-store-ratings", + title: "iOS app store ratings", + description: "Live Apple App Store ratings for Coinbase, Robinhood, Crypto.com and more. Updated every 30 min.", + }, + ], + }, +]; + +export default function TradingAppsHubPage() { + const breadcrumb = { + "@context": "https://schema.org", + ...buildBreadcrumbJsonLd([ + { name: "Home", item: SITE.url }, + { name: "Trading Apps", item: `${SITE.url}/trading-apps` }, + ]), + }; + + const itemList = { + "@context": "https://schema.org", + "@type": "ItemList", + name: "Trading app benchmarks — OpenChainBench", + numberOfItems: GROUPS.reduce((n, g) => n + g.items.length, 0), + itemListElement: GROUPS.flatMap((g, gi) => + g.items.map((item, ii) => ({ + "@type": "ListItem", + position: GROUPS.slice(0, gi).reduce((n, g2) => n + g2.items.length, 0) + ii + 1, + name: item.title, + url: `${SITE.url}/benchmarks/${item.slug}`, + })) + ), + }; + + return ( +
+