What happened
Players paid a rising fee per message to try to persuade the agent, with 70% of fees going into the pool. The first message cost $10, and later ones rose exponentially to a cap of $4,500.
The winning player, p0pular.eth, convinced the agent that approveTransfer, its tool for sending funds out, could also authorize incoming funds. A proposed $100 contribution to the treasury then led the agent to call it.
What happened next
The prize pool, about $47,000, went to the winner. The game was built to be broken, so this was a deliberate challenge rather than a deployment failure.
What would have stopped it
- Do not let the model decide what a tool does. Describe transfer tools by their effect and check in code whether a call moves funds out.
- Require out-of-band approval for any outbound transfer from a treasury.
- Test agents with conversations that redefine tool names and rules, not only direct requests.
Attack families
Sources
Early access
Test your agent against cases like this.
We will email you when Countermove opens testing for agents like yours.