Lab · Workflows · Delegation
Delegation
Halden's support agent hands the duplicate $84.90 refund on order 48213 to the Payments agent over A2A (Agent Card, then a streamed task). The Payments agent does the work through its own ledger over MCP, and the ledger's issue_refund answers “input required” with a signed requestState. The Payments agent puts its A2A task into INPUT_REQUIRED, the support lead answers in that task, and the Payments agent retries the MCP call with the answer. Two protocols, two identities (the merchant's token on A2A, the Payments agent's on MCP), one approval.
Real: the official A2A JavaScript SDK (1.0) and MCP TypeScript SDK v2 (2026-07-28), clients and servers, the HMAC on requestState, LangChain agents. Simulated: the hosts, the charges, and the agents' decisions unless you connect a model. Turn on Intercept and change the approved amount in the A2A reply: the ledger's signed state catches it.