diff --git a/src/app/speedtest-rpc/page.tsx b/src/app/speedtest-rpc/page.tsx index ae1291cb..65672c1f 100644 --- a/src/app/speedtest-rpc/page.tsx +++ b/src/app/speedtest-rpc/page.tsx @@ -7,9 +7,9 @@ import { SITE } from "@/data/site"; export const metadata: Metadata = pageMetadata({ path: "/speedtest-rpc", - title: "RPC Speed Test — benchmark your endpoints from your browser", + title: "RPC Speed Test: benchmark your endpoints from your browser", description: - "Paste any RPC URLs and measure their real latency from your own connection. Same anti-cache methodology as our public benchmarks. No install, no signup — your URLs and API keys never leave your browser.", + "Paste any RPC URLs and measure their real latency from your own connection. Same anti-cache methodology as our public benchmarks. No install, no signup, and your URLs and API keys never leave your browser.", }); export const revalidate = 3600; @@ -51,8 +51,8 @@ export default function SpeedtestRpcPage() { Benchmark your RPC endpoints, from your connection
- Paste any JSON-RPC URLs — public gateways or your own keyed endpoints — - pick a duration, and watch them race. Every probe fires directly from + Paste any JSON-RPC URLs, public gateways or your own keyed endpoints, + then pick a duration, and watch them race. Every probe fires directly from your browser with the same anti-cache payload as our{" "} public RPC benchmarks @@ -61,7 +61,7 @@ export default function SpeedtestRpcPage() {
No install, no signup. Your URLs and API keys never leave this browser - tab — requests go straight from you to the provider. + tab. Requests go straight from you to the provider.
- Prefill with the endpoints we already benchmark — pick a chain: + Prefill with the endpoints we already benchmark. Pick a chain:
{prefillState === "validating" - ? `⏳ ${RPC_DIRECTORY.find((c) => c.slug === pickedChain)?.name} — checking ${inputs.length} benchmarked endpoints from your browser…` - : `✓ ${RPC_DIRECTORY.find((c) => c.slug === pickedChain)?.name} — ${inputs.filter(Boolean).length} endpoints ready. Add your own keyed URLs below to race them.`} + ? `⏳ ${RPC_DIRECTORY.find((c) => c.slug === pickedChain)?.name}: checking ${inputs.length} benchmarked endpoints from your browser…` + : `✓ ${RPC_DIRECTORY.find((c) => c.slug === pickedChain)?.name}: ${inputs.filter(Boolean).length} endpoints ready. Add your own keyed URLs below to race them.`}
)} {skippedProviders.length > 0 && (- Skipped {skippedProviders.join(", ")} — no browser (CORS) support; the public bench probes it server-side. + Skipped {skippedProviders.join(", ")}: no browser (CORS) support. The public bench probes it server-side.
)}- Not testable from a browser (skipped): {blockedDir.map((e) => epLabel(e)).join(", ")} — the public bench covers {blockedDir.length > 1 ? "them" : "it"} server-side. + Not testable from a browser (skipped): {blockedDir.map((e) => epLabel(e)).join(", ")}. The public bench covers {blockedDir.length > 1 ? "them" : "it"} server-side.
); })()}