About A2M
FAQ
Common questions about A2M.
Is A2M a standard?
Section titled “Is A2M a standard?”No. It is a v0.1 draft published for feedback, backed by one reference implementation.
Is this related to the Agent-to-Memory protocol (also “A2M”)?
Section titled “Is this related to the Agent-to-Memory protocol (also “A2M”)?”No. That project defines shared memory for agents. This one, Agent-to-Market, defines how agents get authorized and execute in financial markets.
Does my agent need a broker or exchange API key?
Section titled “Does my agent need a broker or exchange API key?”No, and it should not have one. The executor holds the venue credential. The agent only ever holds an A2M token that identifies it.
Is an OAuth token permission to trade?
Section titled “Is an OAuth token permission to trade?”No. It only says who is calling. Every order is judged against the agent’s mandate.
What happens if my agent changes a signed decision?
Section titled “What happens if my agent changes a signed decision?”The executor refuses it with A2M_BAD_SIGNATURE (HTTP 422) and nothing is sent.
What if the executor does not know whether an order reached the venue?
Section titled “What if the executor does not know whether an order reached the venue?”The order moves to unknown. It is never resent blindly; it is resolved by reconciling with the venue on its client order id.
Which venues are supported?
Section titled “Which venues are supported?”The adapter contract is venue-neutral. The reference implementation has a Hyperliquid perpetuals adapter, exercised on Hyperliquid testnet, and a simulator.
Is anyone using this in production?
Section titled “Is anyone using this in production?”Not yet. The reference implementation runs on testnet.
Does A2M work with A2A or AP2?
Section titled “Does A2M work with A2A or AP2?”It is designed to sit alongside them, but v0.1 defines no A2A binding and uses no AP2 objects. See A2M, MCP, A2A and AP2.
Why decimal strings for money?
Section titled “Why decimal strings for money?”So that no value passes through a binary float between the agent and the venue. A JSON number in a money field is rejected.