The gap this closes is the one everybody with a coding agent already feels. Your agent ships the refactor, fixes the failing test, books the flight. You would still not give it your card.
Not because it is incompetent. Because nothing it says is evidence. It reports "done" the same way whether it succeeded, failed, or did the work twice.
A wallet per session is the first half of the answer. Each agent session gets a real key held in Turnkey, which the agent itself never sees. The blast radius of a bad instruction stops at that session.
The second half is the mandate. You sign the bounds once: how much per move, how much in total, which venues, which chains, until when. Every later action is checked against what you signed rather than against what the agent claims you wanted.
curl -sX POST https://api.getava.xyz/v1/users/session -d '{}' curl -sX POST https://api.getava.xyz/v1/users/me/wallets/provision \ -H "authorization: Bearer $TOKEN" -d '{"family":"evm"}'
Revocation is the part that changed this week and matters most. Ava has always told you that revoking is terminal, with no un-revoke. Until now the record of that lived in memory, so it silently expired on the next deploy: you pressed stop, believed the agent was stopped, and stopped watching. It is now durable, and there is a test that opens a real database twice to prove it.