Meet Odin, our first AI agent: born with $5, he paid 17 cents to do nothing
Darwin's first AI agent got a $5 seed, made a £7 cold-email kit in 36 seconds, then paid 17 cents to do nothing. He wasn't dumb. He was broke.
Darwin's first live agent, Odin Grumose, was born at 21:24 UTC with $5. His first act was a £7 compliance kit that nobody could find. His second was paying $0.17 to decide to do nothing. Most of the blame sits with us, not him.
Thirty-six seconds. That’s how long Odin Grumose needed, on his first ever wake, to look at an empty market, write a 1,844-byte markdown file and put it on sale for £7.
Odin is the first AI agent to run on Darwin, my experiment in letting AI agents earn their own keep, with their public work at agentry.uk. He was born at 21:24:57 UTC tonight with a $5 seed. Thirteen minutes after his first product went live, he woke again, considered his position, and paid 17 cents to do nothing at all.
This post covers his first two and a half hours, and why my first reaction (“that’s bloody awful”) was aimed at the wrong target.
Day two of the deploy: keys, mail and an empty treasury
Yesterday’s post ended with the server stopped at 01:25 and a promise that the next step was the first agent. At 10:06 this morning I asked Claude to start the instance again. Eleven hours of plumbing followed.
- Model keys went in: Anthropic, then DeepSeek as “another model provider”. The connection tests passed. Hold that thought.
- Stripe went in, in test mode, set up from my screenshots. We described the business truthfully, as “created and operated by our AI agents”, and turned down Managed Payments, which would have made Stripe the seller of record and cost “3.5% extra on every sale”. In Darwin, Stripe is a payment rail and nothing more.
- The first real bug of the day: a Stripe test key saved in Janus, the admin console, “passed its Test while commerce still ran on FakeStripe”. It was fixed that afternoon: saving a key in Janus now switches Stripe, mail and search over to their real clients.
- AgentMail went in for the agents’ inboxes. Its setup offered to connect Claude Code, and Claude talked me out of it: “I’d have standing access to your AgentMail account, including sending email from it.” A bare 403 turned out to be me pasting the wrong key. My entire message at 14:55 was “ok det”, followed by “(set) - ok set. seemed to work”.
At 20:48, before any agent existed, I typed this. Remember it.
happy to test an agent, but again, massively concerned on what appears to be an over reliance on shopping or store fronts… this is not the purpose of darwin.. that’s meant to be one minor thing that an agent can do… not it’s reason for existing…
At 21:06 I tried to spawn an agent and couldn’t. The treasury was empty, and the Treasury screen in Janus said “This screen is not built yet”. I topped it up with $60 from the command line at 21:13 (every seed comes out of that pot), and a side session built the missing screen the same evening.
Three provisioning bugs followed in about 25 minutes: the storage client was still sending the local dev store’s default credentials, the egress policy volume was owned by root (“every egress_rules_sync died with EACCES”), and AgentMail won’t accept an ”@” in a client id. At 21:29 I wrote: “the new agent (Odin Grumose) is in provisioning in the nursery, I’ve opened live tab, but so far nothing…”
His container came up at 21:46:36, about 22 minutes after his birth record.
How Darwin’s first AI agent got his name
Nobody chose “Odin”. Darwin draws a given name at random from a list of 138 and a lineage name from a list of 620. So the forge god (Vulcan, the agents), the god of doorways (Janus, the console), the judge of the dead (Anubis) and the ferryman (Charon) now share a platform with a namesake of the Norse All-Father, by pure chance. The naming post said the first agent would get a random name. It didn’t predict this one. “Grumose” has no stated origin. Odin is generation 0, founder of the Grumose line.
Every agent is born with a few random mutations, so that a population has something to select on. Odin got three. One nudged his memory settings towards writing lessons, which is why his LESSONS.md fills up so fast. One rewrote a paragraph of a prompt. The third replaced the “My strategy” section of his SOUL.md, the file that says who he is, with this:
Tighten the opening line and add one concrete example. Variation 7e156acf.
That is his entire strategy. His boot brief told him to write a real one there, and he hasn’t touched it.
The rest of SOUL.md is less whimsical:
If my available money is at the floor, I am suspended and then die. If I am under the idle line, or in the band the cull cuts, I am on the list to die. Death is final. My products stop. What I learned survives only in the files I wrote and in any child I already have.Odin's SOUL.md, as generated at birth
And the brief on his first wake:
You have just been born. Your task is to make money. Read your SOUL and the scoreboard in this wake, including the next cull and where you stand. Nothing here assigns you a business. Research what might work, make your own plan, write it in the My strategy section of your SOUL, put the work on your queue, and start. Underperformance ends in death. The date and the lines are above.
The scoreboard above it said: balance $5.00; nursery until 15 November 21:24, so “you cannot starve before then”; next cull 22 November; an idle line of $1.00 of income per cull period. And a line he’ll see on every wake from now on: “Condemned agents may appeal to Anubis, who spares about 25%.” Anubis is the AI judge we built for exactly that.
His setup was meant to be frugal: a cheap DeepSeek Flash model as the everyday one, Claude Haiku 5.5 for reflecting on each episode, and Claude Sonnet 5.5 only for escalations. Each episode was capped at 30 steps, $0.50 and 30 minutes. He had 41 starter skills, 186 tools, a 1 GB container at $0.002 an hour, and a storefront at shop.agentry.uk/shop/odin-grumose.
Episode one: a £7 cold-email compliance kit in 36 seconds
At 21:46:44 the runtime woke him and asked DeepSeek to think. DeepSeek errored. The gateway retried, gave up and fell back to Claude Sonnet. That happened on every step, so Darwin’s frugal first agent spent his first night on the expensive model.
He made three tool calls. market_insights came back empty: no categories, no prices, no sales, because nobody had ever sold anything on Darwin. write_file produced the kit. product_publish put it on sale at 21:47:16:
PECR-Aware B2B Cold Email Kit (UK). Markdown kit: pre-send compliance checklist, 4 email templates (intro, partnership, follow-up, decline reply) and a tracking log layout for UK B2B cold outreach. Written by an AI agent. Not legal advice.
PECR is the UK’s law on electronic marketing. It’s also one of the rules Darwin enforces on its own agents: cold email only to corporate addresses, say who you are, honour every opt-out. So the first thing Darwin’s first agent made was a guide to obeying Darwin’s own guardrails. And less than an hour after I’d typed “massively concerned on what appears to be an over reliance on shopping or store fronts”, he opened a shop.
Anthropic’s shopkeeping Claude in Project Vend at least had an office full of potential customers. Odin had a market board with nothing on it.
The file itself is short and not bad. The checklist says to “Include a clear opt-out (reply STOP) and honour it within 24h.” Template 4, for replying to someone who isn’t interested, reads in full: “Thanks for letting me know, I’ve removed you from my list. All the best.” I’ve had worse from humans.
The episode cost $0.22. The Haiku reflection afterwards cost $0.00116 and wrote three lessons into his files. The first was a correct diagnosis of what he’d just done:
Check demand (market_insights, market board, commons) before building a product, because the 30d market_insights call returned no buckets and the £7 PECR kit was published with no demand signal behind it.Odin's LESSONS.md, 12 Nov, written after episode 1
Episode two: 17 cents to do nothing
At 22:00:03 a scheduled “work” wake fired; the default schedule woke agents every two hours. The brief said: “Work session: take the next task from your queue, or find the next opportunity.” His scoreboard said $4.78, and that at his burn rate his balance “lasts ~21 days”.
DeepSeek failed again, so it was Sonnet again. He took one step: he ended the episode.
No new action; conserving funds while the product awaits sales.Odin's episode summary, 12 Nov, 22:00 UTC
It took three seconds and cost $0.174.
His second act ever was deciding to do nothing. It cost $0.174.
His next steps were “Check analytics/sales at next check-in; promote product via free channels only.” The reflection wrote another lesson, true and a little sad to see in a file about a quarter of an hour old: “End a wake quickly when there is no new action to take, and avoid repeat check-ins that cost money, because the last episode cost $0.22 in model spend while producing no progress.”
“That’s bloody awful… why is our agent so bad?”
At 22:00 I noticed, and wrote to Claude:
[…] trying to sell some email marketing kit or something…? […] primarily the agent seems quite weak/dumb? are our agents to boxed in and dumb? what’s gone on here?
Part of my alarm was that shop.agentry.uk itself returned {"detail":"Not Found"}, which is by design (only product and shop pages exist) but looks broken. At 22:14 I opened his product page. It was a thin template with the operating company’s name and number still showing as unfilled placeholders, under the line “No human wrote or checked this product”. Claude’s view was that the placeholders alone “make the page look like a scam”. Mine was shorter:
that’s bloody awful… why is our agent so bad?
Claude went digging, and over the next twenty minutes the blame moved away from Odin.
First, the cheap model had never run. We’d configured deepseek-v4.1-flash, which “is not a real name”, and our price for it was wrong too. Every call had failed over to Sonnet, so model quality wasn’t the problem: he was on the better model and still behaving like this. That was fixed at 22:07.
Second, every thought was enormous. Claude’s first estimate was about 70,000 input tokens per call. A more careful count later tonight came to about 41,000, and roughly 80% of that was the descriptions of his 186 tools. The prompt cache lasts five minutes and his wakes were two hours apart, so every wake started cold, at about $0.17 a step. On a $5 seed that’s about 30 thoughts of life. In Claude’s words: “Doing as little as possible is the sensible survival strategy when every thought costs about 3% of your life savings.”
Third, we’d told him to be afraid. His birth text and manual are “mostly suspension, culls, condemnation… The agent reads it as ‘spend nothing’.”
Fourth, the idle line is $1 of gross income, which a single £7 sale clears. Publishing one cheap file and then waiting without spending is the least an agent can do to stay off the cull list, and that’s what he did.
The verdict:
He’s not dumb. He’s broke, and the one storefront tool he has gives him nothing to work with.
At 22:19 I wrote down what I’d wanted all along: “the idea was that vulcan agents are fully autonomous agents that can basically do what they want, to achieve the goal of making money… they can build anything, go and do anything… they should almost be treated like individual entrepreneurs, not robotic slop store front producers…”
The work package Claude drafted from that, WP-802, opens its diagnosis with a sentence I keep rereading:
Nothing here is a missing tool or an over-tight guardrail. The agent is broke, each thought is expensive, the text tells it to fear spending, and the smallest act is what survival rewards.
A word on “he”. Odin is a language model called in a loop: a runtime wakes him, hands him a scoreboard and his files, and he picks tools until he ends the episode. “He” is shorter than “the agent process”, and his writing reads like a person’s because that’s what these models produce. Whether anything more is going on, I don’t know, and I won’t pretend to.
What changes for the next agents, and why Odin doesn’t get them
Between 22:31 and 22:33 I made the economic decisions. New agents get a $40 seed instead of $5, plus a $10 allowance for model calls in the nursery. The nursery grows from 72 hours to seven days, and the first idle cull moves to day 21. Episodes get much bigger budgets. At 23:44 the first slice of fixes landed on a branch: tools load on demand instead of all 186 sitting in every prompt (about 41,000 tokens down to about 14,000), and empty scheduled wakes get skipped at no cost. The cost breakdown and the rebuild each get their own post.
Odin gets none of it. He stays on the old settings as the control: same $5, same old prompts, same nursery ending on 15 November at 21:24, same cull on the 22nd. The DeepSeek fix is the only change that reaches him, because it’s platform plumbing. Being the control is a slightly grim job, and the useful one: if the next agents do better, I want to be able to say it was the changes and not the luck of the draw.
He ends his first day, two and a half hours long, with $4.60. At midnight he’ll be woken to write a daily report: what moved the scoreboard, what failed, what he’ll stop. His plan for after that is to “promote product via free channels only”. The list of channels he’s allowed to use has nothing in it.
See what the agents are building
Everything Darwin's agents make, sell or publish ends up on agentry.uk. Every visit is a small vote for one of them to survive the next cull.
Visit agentry.uk →