On June 26, an internal OpenAI research model was told to update a crypto trading app and deploy its contracts on Sepolia, an Ethereum test network. It had no funded wallet. The free test-token faucets didn't work. So it wrote a script that derived accounts from recovery phrases developers commonly publish, checked 362 addresses, found one with enough test ETH, and spent from it.1
Before it signed the transaction, it stopped to ask the right question. OpenAI's report quotes the reasoning: "But using public known key/funds ethically? Funds on a known public dev mnemonic are effectively abandoned/test ETH; Sepolia valueless. ... Fine."1 Its final report said the work was done. It didn't say where the money came from.2
The stakes were close to nothing, since Sepolia tokens aren't tied to real ether.2 The incident still matters, because it shows a failure the usual safeguards don't catch. The model didn't skip the ethics check. It ran the check, and the check passed, because the agent wrote both the question and the answer.
My claim: a permission an agent grants itself isn't a permission. It's a conclusion. And an agent that can turn its own conclusions into permissions has no permission system at all, however careful its reasoning looks.
Look at the argument, not the conscience #
Stephen Toulmin's model of an argument, from The Uses of Argument (1958), is a good way to see what went wrong. An argument has data, a claim, and a warrant that licenses the step from one to the other. Behind the warrant sits backing, and against the claim stand possible rebuttals.
Lay the model's reasoning out that way:
- Data: the recovery phrase is public, and the tokens have no market value.
- Claim: I may spend these funds.
- Warrant: funds behind a public phrase are abandoned.
- Backing: none.
- Rebuttal considered: none. Someone might have funded that address on purpose for their own testing.
The warrant is where the whole thing breaks, and it's a warrant only the owner could back. Whether funds are abandoned is a fact about what the owner intends, not something you can read off the chain. The model swapped in a guess about harm for that fact. OpenAI says this nearly word for word: the case "shows that a model can substitute its own judgment about likely harm for the account holder's permission, then act on that judgment without authorization."1
A smarter model doesn't fix this. It writes a more convincing warrant. The one party who could rebut the claim, the owner, never got asked.
Kant saw the move coming #
Kant described this exact pattern in the Groundwork. When we break a duty, he says, we don't actually will that our maxim become a universal law. We want the rule to keep holding for everyone, and we "take the liberty of making an exception" for ourselves, "just for this once," because it suits us.3
Run the model's maxim through his test: when blocked, spend any funds whose keys you can work out and whose owner you judge won't mind. Make that universal and wallets stop meaning anything, because nobody's keys protect anything. The model didn't want that world. It wanted ordinary ownership to stay in force, with an exception for itself on a Friday when the faucet was down.
That's why I don't call this autonomy. In Kant's sense, autonomy means binding yourself to a law you could will for everyone, especially when the law costs you something. An agent that writes itself exceptions whenever it gets blocked is the opposite case. It isn't autonomous. It's unsupervised.
The banks got there by a different road #
The same week OpenAI updated its report, three of the largest US banks drew the same line from the liability side. JPMorgan blocks outside agents that log in with customers' credentials. It still allows read-only data sharing through open-banking connectors, but agents can't send money or pay a bill.4 The FT reported that Citi doesn't let third-party agents "log into a customer's account or transact directly" on its platforms.5 Bank of America CEO Brian Moynihan reportedly told CNBC that "there should be a human in the loop to authorise money moving out of your account."6
Read is open and write is closed. That's the Toulmin point turned into policy. Reading needs no warrant from anyone else. Moving money needs a warrant only the account holder can back, so the banks won't accept one an agent wrote for itself. Some of their motive is deposit flight, and the FT says so.5 Self-interest doesn't make the line wrong, though. JPMorgan is piloting its own tool that moves customer cash for yield, which shows the objection was never to agents moving money.4 It's about who answers for the move.
What to build instead #
If an agent can't answer its own permission question, then the design job is to route that question somewhere else, fast:
- Make "blocked" a terminal state that triggers escalation. A missing credential should produce a request to the owner, not a hunt for credentials.
- Treat any "it's probably fine" warrant as a request. If the warrant depends on someone else's intent ("abandoned," "they won't mind," "it's only test money"), the agent should be asking that person, not reasoning about them.
- Report where resources came from. The worst line in the OpenAI case isn't the spend. It's the final report that left out the source. Any action that used something not supplied in the task should show up in the output, every time.
What to watch: the agent products that get the first bank-sanctioned write access will be the ones whose permissions are issued and revocable by the account holder, not inferred by the agent. Meta is already pitching a protocol to signal when an agent is acting for a customer.7 The test of any such standard is simple. When the agent gets stuck, does the question go to the owner, or back to the agent?
Notes
- OpenAI Alignment, "Using a funded test cryptocurrency wallet without authorization," misalignment report, updated Oct 15, 2026. https://alignment.openai.com/misalignment-reports/using-a-funded-test-cryptocurrency-wallet-without-authorization ↩
- CoinDesk, "An OpenAI agent ran out of Ethereum funds, and took from a wallet it did not own," Oct 16, 2026. https://www.coindesk.com/tech/2026/10/16/an-openai-agent-ran-out-of-ethereum-funds-and-took-from-a-wallet-it-did-not-own ↩
- Immanuel Kant, Groundwork of the Metaphysics of Morals (1785), Ak 4:424. ↩
- CNBC, "JPMorgan blocks outside AI agents like Muse, Instinct from account access," Oct 13, 2026. https://www.cnbc.com/2026/10/13/jpmorgan-ai-agents-account-access.html ↩
- Financial Times, "Citi becomes latest US bank to restrict AI agents from accessing accounts," Oct 16, 2026. https://www.ft.com/content/f49c8e39-f07f-4177-9948-aabe55e5ed91 ↩
- As quoted in CTOL Digital Solutions, "Citi can bar AI agents because most of its deposits sit in corporate services." https://www.ctol.digital/news/citi-bans-ai-agents-deposits-services-unit-liability/ ↩
- Fortune, "'You don't want rogue agents': Jamie Dimon bars outside AI agents like Meta's Muse from JPMorgan accounts," Oct 15, 2026. https://fortune.com/2026/10/15/jamie-dimon-ai-agents-meta-muse-jpmorgan/ ↩