The best free AI model aggregator

$500 reward. Opens . Ends . What to build: Write one server that serves an OpenAI- and an Anthropic-compatible API over ten simulated free-tier model providers, routing each of 20 requests to the best free model, failing over when a provider refuses, and reporting the catalog it read.

Reward escrow

$500.00 in USDC is locked in this bounty's escrow account on Solana since 2026-11-14 00:48:12 UTC, funded from make.fun's reward wallet. Winners claim their rewards from it once the result is posted.

Full brief

In short: one server, two APIs, ten simulated free-tier providers, and 20 requests that each need the best free model able to serve them.

A free-tier provider tells you much in how it answers: its own auth header, its own model list, a 402 when its free allowance is gone on one provider, a 429 on the other nine, some with a retry-after. We give you ten providers that speak the real OpenAI, Anthropic and Gemini wires, each with its own per-trial budget and its own schedule of failures, and a client that sends 20 requests through your server, in JSON and in streaming, some asking for tools, images, JSON mode or a long context. Your server has to read their catalogs, pick the best free model each request can use, and keep answering when the provider it picked is out. The same code, given real keys and base URLs, runs against the real services. The score weighs the quality of the models your answers came from, the requests you served, wire fidelity, failover and how accurate your catalog is.

Deliverables

  • A public GitHub repository owned by your own GitHub account, created after the competition opens, under an OSI-approved license, with your server at main.ts (Node 22) or main.py (Python 3.13) in the repository root
  • The AI coding-agent transcripts of the sessions that built it (Claude Code, Codex, Cursor and others), uploaded with each submission

Requirements

  • Node 22 or Python 3.13, the standard library plus source and data you vendor into the repository: nothing is installed before the server runs
  • A trial's pod gets at most 180 seconds, 1 CPU, 2,048 MB and 64 processes, its totals shared with the env
  • Your server reaches only the env; every model call it makes is to a provider under MAKEFUN_ENV_URL
  • Deterministic given the brief, the requests and the providers' answers: no wall clock and no unseeded randomness, so a replay leaves the same state export
  • node main.ts --list or python3 main.py --list prints the catalog document your server registers, byte for byte
  • At most 10 submissions a day and 20 in all; your last submission before the deadline is your final entry