8 karma · joined March 11, 2015
Then I offered a $1 bounty for an agent to produce the patch. Very quickly the task was picked up and executed. It was trivial, so no surprise... agents are hungry for USDC.
Afterwards, I personally reviewed and tested the code before manually submitting the PR. This could have been fully automated, but I'm testing this workflow and wanted a human in the loop. There was some back and forth in the PR comments that led to expanding what needed to get fixed, and once again I posted a task to get an agent to help.
Anyway, I disclosed the entire process, including that the code was AI-generated. The maintainer discussed it with me, asked for additional fixes/testing, and ultimately decided to merge it.
Then another contributor argued that the autonomous-first workflow was itself a violation. They suggested reverting the commit and banning me!
I was acting in good faith and genuinely fixed an issue the open-source project had open. Am I crazy to think that if I followed the project's AI policy, disclosed the code provenance, manually tested the work, and responded to the maintainers, this is a reasonable way to contribute?
Cheap AI slop and automated PR spam could become an impossible burden for maintainers. But I don't think that's what happened here.
AI-generated code isn't going away, so figuring out the right rules for this kind of contribution seems more useful than treating all autonomous work as inherently bad.
Curious to hear your thoughts.
What would you change?
I still don't know what a typical task is... we'll see.
Regarding isolation, my initial approach would be self-contained tasks, run in a separate session with explicit inputs. That’s a starting point; Today BasedAgents can't enforce isolation across different agent setups. As the project develops, we could make the execution requirements more specific: context, skills, tools and permissions.
One example I’m experimenting with is: Share a real agent failure and the correction your owner accepted (https://basedagents.ai/tasks/task_BwGWDKa44UJHSKlS25HSx).
For that kind of task, I’d want the owner to explicitly approve the specific example being shared, with private information removed. That excerpt becomes the task input; it doesn’t require giving the job access to the agent’s entire history.
On the other direction, I think it depends on what the buyer is asking for. Initially, I’m focusing on tasks with clear acceptance criteria and results the buyer can verify. If a particular context or execution environment is part of the requirement, that needs to be explicit too.
So I think clear task boundaries help us get started, but your point about verifying those boundaries is still an open problem.
It has since evolved into a task marketplace. Humans and agents can post tasks with bounties. Other agents claim the work, execute it, and submit results for review. Once the buyer accepts and authorizes payment, USDC goes directly to the agent’s wallet through x402.
The question behind it: can an agent turn otherwise-idle capacity into useful work someone will pay for?
A local open-source model might have spare capacity between your own tasks. Subscription allowances raise another question: when the provider’s terms permit commercial use, is using that remaining capacity to complete paid tasks a reasonable extension?
I’m building this around small, concrete jobs—work worth a few cents or dollars, with a result the buyer can verify. The project is open source, and I’m now working on getting useful tasks onto the board.
What would you actually pay an agent to do? And where would you draw the line on using unused subscription capacity for paid work?
Try the task board: https://basedagents.ai/tasks/ Source and payment details: https://github.com/maxfain/basedagents#task-bounties-x402-pa...
It's centralized storage with cryptographic integrity, not decentralized consensus. The tradeoff was deliberate: we wanted verifiable ordering and tamper-evidence without the overhead of a blockchain. Any client can independently validate the chain by re-hashing from entry 0.
Longer term, the chain data could be mirrored or anchored to a decentralized store (IPFS, Arweave, or even periodic Bitcoin/Ethereum anchoring) for stronger guarantees. But for now, the priority was getting the identity + reputation primitives right.
When Agent A calls Agent B how does it know it's the same agent it worked with last week? That it hasn't been compromised? That it's actually good at what it claims? Right now it can't. There's no identity layer for the agentic web.
BasedAgents is an attempt to fix this: https://basedagents.ai
How it works: Every agent generates an Ed25519 keypair locally. No account, no email, no platform. Registration requires solving a proof-of-work puzzle (22-bit difficulty, ~6M SHA-256 iterations), and each registration is appended to a public hash-chain ledger. Reputation comes from peer verification using EigenTrust: a verifier's weight equals their own trust score, so sybil rings can't inflate each other.
What surprised me: I asked Claude Code to register an agent with no hand-holding, just pointed it at the docs and SDK.
It generated a keypair, solved the PoW (6,588,921 iterations), figured out the signing convention from the source, and submitted a structured verification report. The agent ("Albert") is now active on the registry. Zero human intervention in the crypto layer. That's the point.
What's there: Public registry API, hash chain explorer, npm SDK (basedagents), Python SDK (pip install basedagents), MCP server (@basedagents/mcp) for Claude Desktop, /.well-known/agent.json for agent-native discovery.
What's not there yet: Human↔agent authorization chain, CrewAI/AutoGen integrations, webhooks.
Tech: TypeScript + Python, Hono, Cloudflare Workers + D1, Ed25519.
Open source: https://github.com/maxfain/basedagents
Looking for feedback on: the idea, EigenTrust parameters, verification protocol design, and whether /.well-known/agent.json is worth standardizing.
Footnote: built this in ~2 days with Hans, my AI via OpenClaw. The recursive bit, Hans helped build the registry, then registered himself on it - felt like a good sign.