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
7 changes: 6 additions & 1 deletion harnesses/indexing-freshness/cmd/script/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,12 @@ type Provider struct {
var providers = []Provider{
{Slug: "mobula", EveryN: 1, Budget: 250_000},
{Slug: "zerion", EveryN: 1, Budget: 55_000},
{Slug: "moralis", EveryN: 1, Budget: 500_000},
// Moralis free tier: 40k CU/day; /wallets/{addr}/history costs 25 CU
// per call, so full participation (144 events × 16 polls = 2,304
// calls = 57.6k CU/day) blows the daily cap ~2/3 through the day
// (the API then 401s until the UTC midnight reset). EveryN 2 keeps
// it at ~28.8k CU/day. Budget = 40k/25 CU × 30 days in calls.
{Slug: "moralis", EveryN: 2, Budget: 48_000},
{Slug: "goldrush", EveryN: 1, Budget: 90_000},
// Allium free tier: 20k calls/month, aggressive per-second limits.
{Slug: "allium", EveryN: 3, Budget: 18_000},
Expand Down
9 changes: 9 additions & 0 deletions src/lib/alternatives.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { cache } from "react";
import yaml from "js-yaml";
import { z } from "zod";
import { loadBenchmark } from "@/lib/spec";
import { REMOVED_BENCH_SLUGS } from "@/lib/removed-benches";
import type { Benchmark } from "@/types/benchmark";

const ALT_DIR = path.join(process.cwd(), "alternatives");
Expand Down Expand Up @@ -72,6 +73,14 @@ export const loadAllAlternatives = cache(async (): Promise<Alternative[]> => {
);
return parsed
.filter((a): a is Alternative => a !== null && a.status === "live")
// Prod-only gate: alternatives built on staging-pipeline benches
// never reach the prod listing, sitemap or tag clouds (the page
// itself already 404s there because the bench spec is filtered).
.filter(
(a) =>
process.env.VERCEL_ENV !== "production" ||
!REMOVED_BENCH_SLUGS.has(a.benchmark),
)
.sort((a, b) => a.target_product.localeCompare(b.target_product));
});

Expand Down
Loading