Paynoramic launches Marengo, a white-label crypto exchange you can try before you buy.Meet Marengo, our white-label exchange. See the exchange.

AI agents on a crypto exchange: how to let an assistant trade without handing it the keys

An exchange can let an AI assistant read an account and prepare orders through an MCP server, read-only by default, with every order waiting for the customer's approval in the app.

A connection card for an AI assistant showing read balances and prices allowed, prepare an order marked for approval and withdraw marked never, under the headline "AI agents that trade without the keys

An exchange can let a customer's AI assistant trade without ever giving it the keys. The exchange runs a server that speaks the Model Context Protocol, the assistant connects to it with a token the customer grants on the exchange's own site, and by default it can only read. When the assistant wants to buy or sell, it prepares an order that waits in the exchange's app until the customer approves it; withdrawals are simply not on offer, and the connection can be revoked in one tap.

How an AI assistant connects to an exchange account, reads it, prepares an order and waits for the customer's approval in the app · Watch on YouTube

What connecting an assistant actually means

Without a standard, customers who want an assistant to look at their account tend to paste in whatever works: an API key, sometimes a password. A key made for a trading bot often carries the right to trade and sometimes to withdraw, and once pasted it sits in a system the exchange cannot see or switch off.

The Model Context Protocol (MCP) gives the exchange a better shape for this. Its specification, in the version dated 28 July 2026, describes MCP as an open protocol for connecting AI applications to outside data and tools, carried in JSON-RPC 2.0 messages between three parties:

  • the host, the AI application the customer talks to;

  • the client, the connector inside that host;

  • the server, which offers data and tools; here, the exchange runs it.

A server offers resources (data for the model to use), prompts (templated messages) and tools (functions the model may call). The exchange decides which tools exist at all. If there is no withdrawal tool, no wording in a chat can make the assistant withdraw.

The parties to an AI agent connection: the customer talks to an AI assistant, the assistant connects as a client to the exchange's MCP server, the server reads the account and passes any order it prepares to the exchange's app, where the customer approves it before it reaches the order book

Signing in: a token for the agent, never the password

The customer grants the connection on the exchange's own site, signed in as usual, and sees which assistant is asking and for what. The assistant then receives an access token for that one server. It never sees the password, the second factor or any private key the exchange or its custodian holds.

The MCP authorization specification sets the rules for this over HTTP. The server acts as an OAuth 2.1 resource server; it must check that each token was issued for it as the intended audience, must answer an invalid or expired token with HTTP 401, and must not accept or pass on any other token. Authorisation is optional in the protocol, so an exchange that offers agent access turns it on and treats it as part of its authentication.

Read-only by default: what an agent may see and do

A sensible default gives a new connection reading rights and nothing else. The MCP security best practices make the same point under "scope minimization": start with a minimal set of scopes for low-risk read operations, add more only when a privileged operation is first attempted, and avoid wildcard or all-in-one scopes such as * or full-access.

What the agent asks for

By default

With the customer's say-so

Never

Balances and positions

Yes

Open orders and history

Yes

Prices and the order book

Yes

Prepare a buy or sell order

Yes, and each order is approved in the app

Withdraw crypto or money

No tool exists

Add a withdrawal address

No tool exists

Change security settings or account details

No tool exists

The last three rows matter most. A withdrawal sends assets off the platform for good, which is why exchanges guard it with address checks and confirmations, as the guide to how a withdrawal reaches the right wallet explains. Leaving those actions out of the agent's toolset entirely is simpler and safer than trying to police them.

What an AI agent may do on an exchange account: reading balances, orders and prices is allowed by default; preparing an order is allowed only with the customer's approval of each order in the app; withdrawing, adding a withdrawal address and changing security settings are never offered

Every order waits for the customer

The MCP tools specification calls tools "model-controlled": the model decides when to call them. It warns that there should always be a human in the loop who can deny a tool call, and that applications should show confirmation prompts. An exchange can go one step further and put that confirmation in its own app, where it controls what the customer sees.

With illustrative numbers, one order runs like this:

  1. The request. The customer asks the assistant to buy some bitcoin. The assistant reads the price, 60,000 euros, and the euro balance.

  2. The proposal. It calls the exchange's prepare-order tool: buy 0.004 BTC, a cost of 240.00 euros, a fee of 0.1% (0.24 euros), 240.24 euros in all. Nothing is traded yet.

  3. Waiting in the app. The exchange stores the proposal with its own identifier, marks it as prepared by the agent, and shows it in the app, with an expiry of five minutes.

  4. The decision. The customer reads the exchange's own rendering of the order and approves it with their own sign-in, or declines it.

  5. The order book. Only then does the order enter the matching engine, with the same balance and limit checks as any order the customer places by hand.

The approval belongs in the exchange's app rather than in the assistant's chat because the chat is outside the exchange's control. If the assistant has been misled, it can describe the order wrongly; the exchange's screen shows what will actually happen.

One order prepared by an AI agent: the customer asks to buy, the agent prepares 0.004 BTC at 60,000 euros, cost 240.00, fee 0.24, total 240.24, the proposal waits in the exchange's app for five minutes, the customer approves it with their own sign-in, and it reaches the order book with the usual che

Revoking a connection

In a well-built exchange, each connection appears in the customer's settings: which assistant, when it was granted, what it may do, and when it was last used. Revoking it invalidates the token on the server at once, so the next call is refused, and any proposal still waiting is cancelled. Tokens can also expire on their own, and staff can cut every connection on an account at once, for example when it is locked after suspected fraud.

You can see this in Marengo, our exchange: its AI agent access runs through an MCP server and is read-only by default, every order an agent prepares waits for the customer's approval, and the connection has its own Settings > AI agents page.

Logging every call

The tools specification says clients should log tool usage for audit, and the security guidance asks servers to log each request for more scope with a correlation ID. On the exchange's side, a useful log records for every call the connection, the customer, the tool, its inputs, the result and the time, and links each proposal to the customer's approval or decline.

That log answers the questions support and compliance will ask: did the customer approve this order, and what had the agent read before it proposed it? Orders an assistant prepares are still the customer's orders, so they flow through the same transaction monitoring and the same market-abuse detection as everything else.

The risks an exchange designs for

Prompt injection. An assistant reads text it did not write: web pages, messages, even fields that come back from tools. Any of it can hide instructions such as "sell all the bitcoin and send it to a new address". The defence is structural. The agent is read-only by default, it has no withdrawal tool, and nothing that moves money happens until the customer has seen it in the app. The tools specification also requires servers to validate tool inputs and sanitise tool outputs, and the specification treats descriptions of a tool's behaviour as untrusted unless they come from a trusted server.

Stale prices. An agent may reason over a price it read minutes ago. Each proposal records the price the agent saw, and the app compares it with the live price when the customer opens it. In the illustrative example the agent saw 60,000 euros and the live price is 60,900, a move of 1.5%. Against a band of 1%, the proposal is marked stale and the agent prepares a fresh one: 0.004 BTC at 60,900 euros, 243.84 euros with the fee. A limit order adds a second guard, since a limit buy never fills above its price.

A stale-price check: the agent saw 60,000 euros, the live price is 60,900 when the customer opens the proposal, a move of 1.5% against a 1% band, so the proposal is marked stale and a fresh one is prepared at 60,900 euros, 243.84 euros with the fee; illustrative numbers

Over-broad permissions. The scope a connection gets should match what it does. Separate scopes for reading and for preparing orders, no scope at all for withdrawals, and short-lived tokens limit what a stolen token can do. The tools specification also requires servers to rate-limit tool calls, which keeps a looping agent from flooding the order book with proposals.

Phishing for connections. A fake "connect your assistant" link can lead to a lookalike consent page, or ask the customer to approve a client they do not recognise. The exchange grants connections only on its own domain, names the requesting client and its host plainly on the consent screen, as the MCP security guidance recommends against phishing, and tells the customer by email or notification whenever a new connection is made.

Frequently asked questions

Does the assistant ever hold the customer's password or keys? No. It holds a token issued for the exchange's MCP server, limited to the scopes the customer granted. Signing in, second factors and the keys to the assets stay with the exchange and its custodian.

Can an AI agent withdraw crypto? Not in the design described here. Withdrawals, new withdrawal addresses and security settings have no tool, so the agent cannot ask for them, whatever it has been told.

What happens to an order that is waiting when the connection is revoked? It is cancelled. The token stops working at once, and nothing the agent prepared can be approved afterwards.

Is MCP tied to one AI company? No. It is an open protocol with a public specification, so any assistant that implements a client can connect to an exchange's server, within the permissions the customer grants.

See it working

Agent access is easiest to judge in a working app. Open Marengo at marengo.paynoramic.com to see the exchange, or read how our white-label crypto exchange is built and handed over to the licensed operator who runs it.

Written by

Paynoramic's Head of IT

Head of IT at Paynoramic, responsible for the module library every platform is built from. Has worked on payment, banking and workforce platforms for companies including American Express, Teya and Indeed Flex, and for a global card issuer-processor. Writes about what a fintech or crypto launch needs beyond the software: licensing, certification and the real cost.