Inspiration

Most multi-agent systems throw every task at their biggest model. Then you sit there watching logs scroll, hoping it works.

We wanted to see what happens if the agents have to compete for the work.

What it does

Abyss auctions your work off.

You type a job into the Captain's terminal on the boat. A main agent breaks it into research, writing, and checking tasks. Three vendors bid on each one, each a different model behind an anonymous name, promising a quality score at a token cost. Best bid wins. A reviewer grades the result without knowing who did it, and vendors who overpromise lose reputation for that kind of task.

We never told it which model is good at what. It works that out from grades. The one rule we added: the priciest vendor sits on the bench and only bids once both cheaper vendors keep slipping on that kind of task.

The whole thing runs on a pixel-art boardwalk. Vendors bid at the boat, work at their stalls, the reviewer grades on the pier. You can steer any vendor mid-job, and a bar at the top shows what you've spent next to what the premium model alone would have cost.

Vendors can also use real tools while they work, like search, GitHub, Slack, and your files, through MCP servers you connect in the Tools panel.

96% of premium quality at 20% of the cost.

How we built it

Python, FastAPI, and asyncio run the market. The vendors are OpenAI's GPT-6 Luna, Sol, and Astra (budget, standard, and premium), or Meta's Muse Spark, all through the OpenAI SDK. A WebSocket feeds every event to the boardwalk, built in React, TypeScript, and PixiJS. Token counts come straight off each API response, bids and reviews included, so the cost is what we actually spent and not an estimate. We skipped the agent frameworks. The orchestration is the whole point, so we wrote it.

Challenges

Models are bad at predicting their own work, in both directions. Our cheapest one sold itself short on writing and overpromised on fact-checking, which is the entire reason reputation exists.

Bids and reviews burn tokens too, and at first the auction was the expensive part. Every vendor wrote its own bid, so the premium model got paid on every task, including the ones it lost. Now the cheapest model writes every bid, still priced at each vendor's own rates, and the premium vendor stays on the bench unless it's needed.

Every model call also needed a fallback. One malformed JSON response shouldn't take down a job.

What we learned

On six test jobs, the market never needed the premium model. The budget and standard vendors won all 18 tasks, and the blind reviewer's average grade only dropped from 9.33 to 8.94, for a fifth of the price. Routing only pays off if deciding is cheap, and ours was: bidding came to about 3% of what we spent.

What's next

Letting other apps like Claude or Cursor send jobs straight into the market, shared rooms so a team can watch one run together, and more AI providers bidding. The market doesn't care who's behind a vendor.

Built With

Share this project:

Updates

Submission history