An agent that drafts an email can be wrong twice a day and nobody notices. An agent with a wallet is a different object.
It signs, it broadcasts, and the moment a validator includes the transaction the thing it did is true for everyone, permanently.
No chargeback, no support queue, no undo — the recovery path on a public blockchain is a polite message to an address that owes you nothing.
So the engineering of AI agents for crypto does not sit in the prompt. It sits at the signer. An on-chain agent should never hold raw key material.
It produces an intended transaction and hands it to a signing service that holds the policy — which contracts it may call, which functions on them, which chains, which destination addresses, and how much value may leave per transaction and per day.
A limit written into a system prompt is a request. A limit enforced by the thing that owns the private key is a control.
That distinction carries more weight here than anywhere else, because on a chain almost everything the agent reads was written by someone who is not you.
A token name, a symbol, a metadata URI, a contract's return value, the body of a governance proposal: all of it arrives inside the model's context and competes with your instructions on equal terms.
What the agent reads is a security boundary before it is a retrieval quality problem.
Before anything is broadcast, the transaction is simulated against a fork of chain state at current head, and what comes back is a state diff — value moved, approvals granted, ownership changed, gas and slippage.
That diff is what a person approves, not the agent's account of what it means to do. A rejected simulation costs nothing. A signed mistake costs whatever was behind the key.
Then the part that catches teams who have only built off-chain: confirmed is not final.
A reorg can unwind an inclusion the agent has already treated as settled and acted on, and a blind retry against a stuck nonce is how one payment becomes two.
Reorg depth, nonce handling, replacement transactions and idempotent action design get decided per chain before the agent is allowed to sign anything, not after the first mismatch.
The signing discipline here comes from Anupam Shah's record in payments.
He ran payment infrastructure at $60M+ volume in MAS-regulated, SOC 2 / ISO 27001 environments, where a process holding signing rights with no human in the loop would have been a control failure long before anyone called it a feature.
Those controls transfer to a chain almost unchanged. What does not transfer is the safety net underneath them.
An agent that reads chain data, drafts a report or files a ticket is ordinary AI agent development; where the contracts, indexing or settlement path underneath it are themselves the problem, that is protocol engineering.