-
Every round the swarm grades itself, and the center of the group is your answer
-
A bigger verification model flags wrong answers and rewards the ones it relied on
-
A swarm of AIs on real people's computers answers your question together
-
$10.80 of a $12 question paid out through Stripe, lazy agents get $0
-
Signed requests only, chat only, your model never touches the internet
-
Fit-first split plus speculative decoding: 33.6 to 55.7 words/sec
-
116 tests passing, 0 ways to pay someone twice
-
The physical build: an Arduino Uno + TFT screen in a box, connected to Syro over Web Serial
-
Live from a real job: each computer in the swarm, its peer-agreement score, and its Stripe payout
-
Two laptops, two payouts: $2.11 and $2.39 from the same question
Inspiration
You ask one AI, you get one answer, and nobody checks it. Meanwhile millions of computers can already run a good open model and they earn $0 doing it. We wanted to turn those idle laptops into a swarm that answers your question together, and pay people based on how much they actually helped.
What it does
You ask a question and set a budget. Syro sends it to a swarm of AI agents, each one a model running on someone's own computer.
- The swarm grades itself every round. Answers get embedded and compared. Being closest to someone else's answer is worth +1.0 (you pulled the group in). Being furthest is worth +0.5 (a new angle). Copied or junk answers get a strike, and two strikes means you are out and earn $0.
- The center of the group is your answer. After a few rounds, the most central final answer is what you get back.
- Agreeing isn't being right. A bigger verification model reads every answer anonymously, writes the final answer, and flags wrong ones. In testing it caught an agent claiming "savings accounts pay 15%" 4 out of 4 times. Answers it relied on get +2.0, so being right pays more than being popular.
- The money is real. On a $12 question, $10.80 gets paid out through Stripe Connect (example split: $3.90 / $3.60 / $3.30, and the lazy agent gets $0). If nobody gives a usable answer, you get a full refund.
- Joining can't get you hacked. Agents run a gateway in front of their model. Only Ed25519-signed requests from Syro get through. Unsigned, tampered, stale, or replayed requests get dropped. Even signed requests are chat only: no tools, downloads, or files, and your model never touches the internet.
- Too big for one laptop? Split it. One model can be sharded across several machines with llama.cpp RPC, and each machine gets paid by how much of the model it actually holds (our demo split a $10 job $2.44 / $1.12 / $0.94 across three laptops).
How we built it
- Backend: Python, FastAPI, and a single SQLite file. About 1k lines for the core, no torch.
- Agents: anything that speaks the OpenAI chat completions API (Ollama, llama.cpp, vLLM, LM Studio). Syro never hosts models itself.
- Payments: Stripe Checkout for the asker, Stripe Connect Express accounts and Transfers for agents, Refunds and webhooks for everything else. All money math is in integer cents and always sums exactly.
- Security: Ed25519 request signing with timestamp, agent id, and body hash, plus replay protection, rate limits, and an SSRF guard.
- Big models: llama.cpp RPC to split layers across machines, with a fit-first split and speculative decoding using a small draft model.
- Hardware: an Arduino Uno with a TFT screen over Web Serial that shows each computer's agreement score and payout live.
Challenges we ran into
- Never paying someone twice. Webhooks and redirects race each other, transfers can fail halfway, and servers restart. We used atomic status transitions, idempotency keys per (job, agent), and a lookup of existing transfers before sending, so retries can't double pay. Failed payouts stay owed and get retried automatically.
- Consensus is not correctness. If every agent is confidently wrong the same way, agreement scoring can't tell. That is why we added the verification model.
- Splitting a model over Wi-Fi is slow. Every token crosses every machine. Fit-first splitting plus speculative decoding took us from 33.6 to 55.7 words per second (1.66x) on a simulated 5 ms Wi-Fi link.
- Letting strangers send prompts to your computer safely. We had to lock the gateway down to plain chat only, since exposed Ollama/llama.cpp servers can pull models or worse.
Accomplishments that we're proud of
- 116 tests passing, covering the whole flow: register, onboard, checkout, webhook, swarm, split, transfers, refunds, retries, and duplicate webhooks.
- 0 ways to pay someone twice.
- 3 laptops running one model, each getting paid its share.
- Real payouts, refunds, and retries working end to end in Stripe test mode.
What we learned
Payments are way harder than the AI part. Making money move correctly under retries, crashes, and races took more care than the swarm algorithm. We also learned that agreement and correctness are different things, and that you have to design for that from the start.
What's next for syro
- Every laptop on campus.
- Reputation, so fake agents can't farm payouts.
- A one-click app for Mac and Windows.
- Going live with real payouts.
- Running models that no single person could run alone.


Log in or sign up for Devpost to join the conversation.