{
  "note": "Verse's free-resource registry (owner, 2026-11-03: free-resource arbitrage). Every free tier, credit program, grant and open model/dataset/API Verse can use, with its limit, reset, what signing up needs and its terms. RULES: one legitimate account per service, follow each service's terms, no multi-account stacking, no new accounts or spending by an agent. 'access' says how Verse reaches it: 'binding:X' (already on the Pages project), 'none' (keyless public API), 'key:ENV' (only used once Atom adds that one key), 'program' (apply or claim; never routed). Workers AI models are named only in lib/models.js (the 'model' field is its export name). 'confirm': true = limit from a secondary source, read the terms page before relying on it. lib/free-router.js reads this; /free/ shows it.",
  "checked": "2026-11-03",
  "rules": ["one legitimate account per service", "follow each service's terms", "no multi-account stacking", "no account creation or spending by an agent", "a daily share of a monthly limit is limit/31, rounded down"],
  "resources": [
    { "id": "workers-ai-chat", "kind": "llm", "name": "Cloudflare Workers AI (free chat model)", "access": "binding:AI", "model": "FREE_MODEL", "limit": { "n": 400, "per": "day", "unit": "answers (share of 10,000 neurons/day)" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/workers-ai/platform/pricing/" },
    { "id": "groq-free", "kind": "llm", "name": "Groq free tier", "access": "key:GROQ_API_KEY", "limit": { "n": 1000, "per": "day", "unit": "requests (per model)" }, "signup": "email account, free key", "terms": "https://console.groq.com/docs/rate-limits", "confirm": true },
    { "id": "gemini-free", "kind": "llm", "name": "Google Gemini API free tier", "access": "key:GEMINI_API_KEY", "limit": { "n": 250, "per": "day", "unit": "requests (Flash)" }, "signup": "Google account, AI Studio key", "terms": "https://ai.google.dev/gemini-api/docs/rate-limits", "confirm": true, "note": "free-tier prompts may be used to improve Google's products: never send visitor data" },
    { "id": "openrouter-free", "kind": "llm", "name": "OpenRouter :free models", "access": "key:OPENROUTER_API_KEY", "limit": { "n": 50, "per": "day", "unit": "requests (1,000 after $10 lifetime credit)" }, "signup": "account, free key", "terms": "https://openrouter.ai/docs/api-reference/limits", "confirm": true },
    { "id": "cerebras-free", "kind": "llm", "name": "Cerebras Inference free tier", "access": "key:CEREBRAS_API_KEY", "limit": { "n": 14400, "per": "day", "unit": "requests" }, "signup": "account, free key", "terms": "https://inference-docs.cerebras.ai/support/rate-limits", "confirm": true },
    { "id": "mistral-free", "kind": "llm", "name": "Mistral La Plateforme free (Experiment) tier", "access": "key:MISTRAL_API_KEY", "limit": { "n": 1, "per": "second", "unit": "request" }, "signup": "account + phone verification", "terms": "https://docs.mistral.ai/deployment/laplateforme/tier/", "confirm": true },
    { "id": "github-models", "kind": "llm", "name": "GitHub Models (free prototyping)", "access": "key:GITHUB_MODELS_TOKEN", "limit": { "n": 150, "per": "day", "unit": "requests (low tier)" }, "signup": "existing GitHub account", "terms": "https://docs.github.com/en/github-models/use-github-models/prototyping-with-ai-models", "confirm": true },
    { "id": "hf-inference", "kind": "llm", "name": "Hugging Face Inference Providers (monthly free credit)", "access": "key:HF_TOKEN", "limit": { "n": 31, "per": "month", "unit": "small calls (US$0.10 credit)" }, "signup": "existing HF account", "terms": "https://huggingface.co/docs/inference-providers/pricing", "confirm": true },
    { "id": "workers-ai-art", "kind": "image", "name": "Workers AI text-to-image", "access": "binding:AI", "model": "ART_MODEL", "limit": { "n": 30, "per": "day", "unit": "pictures (Art Forge cap)" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/workers-ai/platform/pricing/" },
    { "id": "workers-ai-art-fallback", "kind": "image", "name": "Workers AI text-to-image (fallback)", "access": "binding:AI", "model": "ART_FALLBACK", "limit": { "n": 30, "per": "day", "unit": "pictures" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/workers-ai/platform/pricing/" },
    { "id": "openverse", "kind": "image", "name": "Openverse (CC pictures search)", "access": "none", "limit": { "n": 200, "per": "day", "unit": "searches (Verse's own polite cap)" }, "signup": "none", "terms": "https://api.openverse.org/v1/", "note": "licence filtering is lib/free-pics.js's" },
    { "id": "wikimedia-commons", "kind": "image", "name": "Wikimedia Commons", "access": "none", "limit": { "n": 500, "per": "day", "unit": "requests (Verse's own polite cap)" }, "signup": "none", "terms": "https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use" },
    { "id": "github-actions-video", "kind": "video", "name": "GitHub Actions runner (ffmpeg Shorts build)", "access": "binding:GITHUB", "limit": { "n": 2000, "per": "month", "unit": "minutes (unlimited on a public repo)" }, "signup": "existing repo", "terms": "https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions" },
    { "id": "internet-archive", "kind": "video", "name": "Internet Archive public-domain films", "access": "none", "limit": { "n": 300, "per": "day", "unit": "requests (Verse's own polite cap)" }, "signup": "none", "terms": "https://archive.org/about/terms.php" },
    { "id": "github-actions", "kind": "compute", "name": "GitHub Actions (public repo)", "access": "binding:GITHUB", "limit": { "n": 20, "per": "day", "unit": "workflow runs (Verse's own cap; free on public repos)" }, "signup": "existing repo", "terms": "https://docs.github.com/en/actions/administering-github-actions/usage-limits-billing-and-administration" },
    { "id": "cf-workers", "kind": "compute", "name": "Cloudflare Workers/Pages Functions free", "access": "binding:ASSETS", "limit": { "n": 100000, "per": "day", "unit": "requests" }, "signup": "already in use", "terms": "https://developers.cloudflare.com/workers/platform/limits/" },
    { "id": "oracle-always-free", "kind": "compute", "name": "Oracle Cloud Always Free (4 Arm cores, 24 GB)", "access": "program", "limit": { "n": 1, "per": "account", "unit": "VM set" }, "signup": "Atom's identity + card on file (not charged)", "terms": "https://www.oracle.com/cloud/free/" },
    { "id": "cf-d1", "kind": "storage", "name": "Cloudflare D1 free", "access": "binding:DB", "limit": { "n": 100000, "per": "day", "unit": "row writes" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/d1/platform/pricing/" },
    { "id": "cf-r2", "kind": "storage", "name": "Cloudflare R2 free", "access": "binding:MEDIA", "limit": { "n": 10, "per": "month", "unit": "GB stored; 1M writes/month" }, "signup": "R2 needs enabling in the dashboard", "terms": "https://developers.cloudflare.com/r2/pricing/" },
    { "id": "github-releases", "kind": "storage", "name": "GitHub release assets", "access": "binding:GITHUB", "limit": { "n": 2, "per": "file", "unit": "GB per asset" }, "signup": "existing repo", "terms": "https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases" },
    { "id": "cf-email-routing", "kind": "email", "name": "Cloudflare Email Routing (receive)", "access": "program", "limit": { "n": 200, "per": "rule", "unit": "routing rules" }, "signup": "dashboard toggle on a-to-mind.com", "terms": "https://developers.cloudflare.com/email-routing/" },
    { "id": "resend-free", "kind": "email", "name": "Resend free tier", "access": "key:RESEND_API_KEY", "limit": { "n": 100, "per": "day", "unit": "emails (3,000/month)" }, "signup": "account + verified domain", "terms": "https://resend.com/pricing", "confirm": true },
    { "id": "wikipedia", "kind": "search", "name": "Wikipedia/MediaWiki API", "access": "none", "limit": { "n": 5000, "per": "day", "unit": "requests (Verse's own polite cap)" }, "signup": "none", "terms": "https://api.wikimedia.org/wiki/Terms_of_use" },
    { "id": "brave-search-free", "kind": "search", "name": "Brave Search API free", "access": "key:BRAVE_API_KEY", "limit": { "n": 2000, "per": "month", "unit": "queries" }, "signup": "account (card for verification)", "terms": "https://brave.com/search/api/", "confirm": true },
    { "id": "tavily-free", "kind": "search", "name": "Tavily free", "access": "key:TAVILY_API_KEY", "limit": { "n": 1000, "per": "month", "unit": "credits" }, "signup": "account", "terms": "https://www.tavily.com/pricing", "confirm": true },
    { "id": "openalex-key", "kind": "search", "name": "OpenAlex with a free API key", "access": "key:OPENALEX_API_KEY", "limit": { "n": 1000, "per": "day", "unit": "searches ($1/day free budget, 10 credits a search)" }, "signup": "openalex.org account, free key (email verified)", "terms": "https://help.openalex.org/api/authentication/" },
    { "id": "openalex", "kind": "search", "name": "OpenAlex (keyless)", "access": "none", "limit": { "n": 10, "per": "day", "unit": "searches ($0.10/day keyless budget, 10 credits a search; shared egress may already have spent it)" }, "signup": "none", "terms": "https://help.openalex.org/api/authentication/" },
    { "id": "crossref", "kind": "search", "name": "Crossref REST API (scholarly metadata)", "access": "none", "limit": { "n": 5000, "per": "day", "unit": "requests (Verse's own polite cap)" }, "signup": "none", "terms": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/" },
    { "id": "workers-ai-voice", "kind": "speech", "name": "Workers AI text-to-speech", "access": "binding:AI", "model": "VOICE_MODEL", "limit": { "n": 2500, "per": "day", "unit": "bars (rapvoice cap)" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/workers-ai/platform/pricing/" },
    { "id": "workers-ai-hear", "kind": "speech", "name": "Workers AI speech-to-text", "access": "binding:AI", "model": "HEAR_MODEL", "limit": { "n": 200, "per": "day", "unit": "clips" }, "signup": "already bound", "terms": "https://developers.cloudflare.com/workers-ai/platform/pricing/" },
    { "id": "hf-datasets", "kind": "dataset", "name": "Hugging Face datasets (open licences)", "access": "none", "limit": { "n": 1000, "per": "day", "unit": "requests" }, "signup": "none for public datasets", "terms": "https://huggingface.co/terms-of-service" },
    { "id": "common-crawl", "kind": "dataset", "name": "Common Crawl", "access": "none", "limit": { "n": 1, "per": "request", "unit": "polite serial access" }, "signup": "none", "terms": "https://commoncrawl.org/terms-of-use" },
    { "id": "aws-activate", "kind": "credits", "name": "AWS Activate Founders", "access": "program", "limit": { "n": 1000, "per": "once", "unit": "US$ credit" }, "signup": "Atom applies (business identity)", "terms": "https://aws.amazon.com/startups/credits" },
    { "id": "google-for-startups", "kind": "credits", "name": "Google for Startups Cloud (AI tier)", "access": "program", "limit": { "n": 2000, "per": "once", "unit": "US$ credit (Start tier)" }, "signup": "Atom applies", "terms": "https://cloud.google.com/startup", "confirm": true },
    { "id": "azure-founders", "kind": "credits", "name": "Microsoft for Startups Founders Hub", "access": "program", "limit": { "n": 1000, "per": "once", "unit": "US$ Azure credit (to start)" }, "signup": "Atom applies", "terms": "https://www.microsoft.com/en-us/startups", "confirm": true },
    { "id": "cloudflare-startups", "kind": "credits", "name": "Cloudflare for Startups", "access": "program", "limit": { "n": 250000, "per": "once", "unit": "US$ max credit (tiered)" }, "signup": "Atom applies (needs backing for top tiers)", "terms": "https://www.cloudflare.com/forstartups/", "confirm": true },
    { "id": "floss-fund", "kind": "grant", "name": "FLOSS/fund (funding.json)", "access": "program", "limit": { "n": 10000, "per": "year", "unit": "US$ minimum request (up to 100,000)" }, "signup": "publish funding.json, submit URL; needs real usage", "terms": "https://floss.fund/faq/" },
    { "id": "nlnet-ngi", "kind": "grant", "name": "NLnet NGI Zero grants", "access": "program", "limit": { "n": 50000, "per": "once", "unit": "EUR max per first proposal" }, "signup": "Atom submits a proposal (open source)", "terms": "https://nlnet.nl/propose/", "confirm": true }
  ]
}
