Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/app/alternatives/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Alternatives to crypto infrastructure products, ranked by live OpenChainBench benchmarks.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Alternatives",
headline: "Alternatives, by the numbers.",
subline:
"Benchmark-ranked alternatives to every major crypto infrastructure product. Same data, reframed per product, no verdict.",
});
}
15 changes: 15 additions & 0 deletions src/app/answers/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "OpenChainBench answers. Common questions about crypto infrastructure, answered with live benchmark data.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Answers",
headline: "Questions, answered with data.",
subline:
"Common questions about crypto infrastructure performance, answered directly from live OpenChainBench benchmark results.",
});
}
15 changes: 15 additions & 0 deletions src/app/badges/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "OpenChainBench live ranking badges. Embed a live benchmark rank badge in your docs or README.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Badges",
headline: "Show your live rank.",
subline:
"Embed a live OpenChainBench ranking badge in your docs, README or website. Updates automatically as benchmark data changes.",
});
}
15 changes: 15 additions & 0 deletions src/app/bridge/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Cheapest cross-chain bridge 2026. Live fee and slippage ranking across Across, deBridge, LI.FI, Relay and more.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Bridge benchmarks",
headline: "Cheapest cross-chain bridge, live.",
subline:
"All-in fee (fees + slippage + destination gas) for $300 USDC across Solana, Base and Arbitrum corridors. Refreshed every 5 minutes.",
});
}
15 changes: 15 additions & 0 deletions src/app/chains/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Chains tracked by OpenChainBench. Browse all live benchmarks grouped by blockchain.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Chains",
headline: "Every chain we measure.",
subline:
"All blockchains tracked by OpenChainBench. Pick a chain for the full set of live RPC, finality and data measurements.",
});
}
15 changes: 15 additions & 0 deletions src/app/compare/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Compare crypto infrastructure providers head to head. Live benchmark data, no vendor claims.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Compare",
headline: "Providers, head to head.",
subline:
"Pick any two infrastructure providers and compare them on latency, reliability and cost. Live data, no vendor claims.",
});
}
15 changes: 15 additions & 0 deletions src/app/data-api/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Best crypto data API 2026. Live benchmark ranking of price, NFT and DeFi data providers by latency and accuracy.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Data API benchmarks",
headline: "Best crypto data API, ranked.",
subline:
"Latency, accuracy and reliability for every major crypto data API provider. Measured continuously from three regions.",
});
}
15 changes: 15 additions & 0 deletions src/app/fee-compare/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Perp DEX fee comparison. Compare taker fees between any two venues using real on-chain wallet data.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Fee compare",
headline: "Perp DEX fees, head to head.",
subline:
"Paste a wallet and compare what you paid on Hyperliquid or Gains against any other venue. Live on-chain data, no API key.",
});
}
15 changes: 15 additions & 0 deletions src/app/hyperliquid/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Hyperliquid frontends and HIP-3 DEX leaderboard. Live revenue, volume and users from a local HL node.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Hyperliquid",
headline: "Every HL frontend, ranked.",
subline:
"Revenue, volume and daily users for every Hyperliquid frontend and HIP-3 deployer. Server-side data from a local node tailing every fill.",
});
}
15 changes: 15 additions & 0 deletions src/app/partners/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "OpenChainBench partners and integrations. Projects that embed or reference our open benchmark data.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Partners",
headline: "Partners and integrations.",
subline:
"Projects and documentation sites that embed or reference OpenChainBench benchmark data in their products.",
});
}
15 changes: 15 additions & 0 deletions src/app/perps/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Best perp DEX 2026. Live leaderboard of perpetual exchanges by volume, open interest, fees and funding.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Perp DEX leaderboard",
headline: "Best perp DEX, by the numbers.",
subline:
"Volume, open interest, all-in cost and funding rate across every major perpetual exchange. Updated continuously.",
});
}
15 changes: 15 additions & 0 deletions src/app/prediction-markets/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Prediction markets leaderboard 2026. Volume, resolution delay, API latency and data freshness across every major venue.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Prediction markets",
headline: "Prediction markets, ranked live.",
subline:
"Volume, resolution delay, API latency and data freshness across Polymarket, Kalshi and every other major venue.",
});
}
15 changes: 15 additions & 0 deletions src/app/reports/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "OpenChainBench reports. In-depth analysis of crypto infrastructure performance backed by live benchmark data.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Reports",
headline: "Deeper dives, same data.",
subline:
"In-depth analysis of crypto infrastructure performance, backed by live benchmark data and open methodology.",
});
}
15 changes: 15 additions & 0 deletions src/app/rpc/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Fastest RPC providers 2026, by chain and region. Live p50/p90/p99 latency and success rate.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "RPC benchmarks",
headline: "Fastest RPC, by chain and region.",
subline:
"p50/p90/p99 latency and success rate for every major RPC provider, probed every 60 seconds from US East, EU West and Singapore.",
});
}
15 changes: 15 additions & 0 deletions src/app/team/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "OpenChainBench team. The people building open benchmarks for crypto infrastructure.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Team",
headline: "The people behind the bench.",
subline:
"Building open, reproducible benchmarks for crypto infrastructure. Community-run, no vendor funding.",
});
}
15 changes: 15 additions & 0 deletions src/app/trading-apps/opengraph-image.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { OG_SIZE, renderHubOG } from "@/lib/og-hub-template";

export const runtime = "nodejs";
export const alt = "Best Solana trading apps 2026. Live leaderboard ranked by volume, wallets, fees and app store ratings.";
export const size = OG_SIZE;
export const contentType = "image/png";

export default function OG() {
return renderHubOG({
kicker: "Trading apps",
headline: "Best Solana trading app, live.",
subline:
"Volume, active wallets, fees and app store ratings across every major Solana trading venue. Benchmarks updated continuously.",
});
}
Loading