Case study

AI Agent for a Crypto Exchange Case Study

How We Built an AI Agent for Spot Trading and Wallet Operations

We added an AI agent to a live crypto exchange so users could place spot orders, check their transaction history, and request withdrawals to approved addresses from one chat.

Yuri Musienko Yuri Musienko Reading time: 2 min Last updated:
How We Built an AI Agent for Spot Trading and Wallet Operations
  • 11+years in software development
  • 131projects delivered since 2015
  • 5official technology partners

“What was my last ETH trade?” takes one lookup. “Buy another 0.1” might place an order, but the exchange still needs to know the trading pair and order type. Both messages can come from the same user, seconds apart.

We built a chat interface for a live crypto exchange that handled both kinds of requests. Users could check their transaction history, find a deposit address, or ask about the market. They could also convert assets, place spot orders, and request withdrawals to approved addresses.

What changes when you replace a form with chat

A trading form gives the user a field for each part of an order. In chat, someone might write “Buy 100” and assume the system knows they mean 100 USDT worth of ETH. Someone else might mean 100 ETH. If the amount or the asset is unclear, the agent needs to ask before the exchange receives an order.

We gave the agent separate paths for looking up information and requesting an operation. The market news path had no access to trading tools. An account history lookup could read data for the signed-in user. Placing an order or requesting a withdrawal required permissions specific to that action.

What users could do in chat

Request What the agent handled
Convert an asset Request a conversion using the available spot balance.
Place an order Submit a market or limit order through the exchange API.
Check account activity Show transaction history and the details of a selected transaction.
Find a deposit address Retrieve the address from the exchange.
Request a withdrawal Send a request to an approved address after an extra confirmation.
Ask about the market Discuss crypto news and market conditions.

How a limit order moves through the system

Take an example. A user types “Place a limit buy for 0.1 ETH at 2,400 USDT.” The agent can turn that into five fields: ETH/USDT, buy, limit, 0.1 ETH, and 2,400 USDT per ETH. The order value at that price is 240 USDT before fees.

Veltrix trading agent previews a limit buy of 0.1 ETH at 2,400 USDT, with a total of 240 USDT before fees

Veltrix trading agent previews a limit buy of 0.1 ETH at 2,400 USDT, with a total of 240 USDT before fees

Those are the terms the user needs to see before confirming. If they reply “Make it 2,350,” show the new price and ask them to confirm the revised order. A question like “How much would that cost?” belongs on the information path.

At submission, the exchange checks the order against the current account and market rules. For example, the user may have spent some USDT in the regular trading interface since opening the chat. The exchange can reject the order if there are insufficient funds. It can also reject a price or quantity that falls outside the market’s allowed increments.

The chat reports the status returned by the API. If the exchange accepts the order and puts it on the order book, say that it’s open. If it fills in part, show how much was filled. A trader needs to know whether they bought ETH or still have an order waiting to execute.

How withdrawals and repeated requests were handled

For withdrawals, the platform checked the destination against the account’s allowlist and asked for a second confirmation before calling the API. If a user referred to a recipient by name, the address on file was the one that mattered for authorization.

Veltrix Wallet shows a 0.10 ETH withdrawal to an allowlisted Ethereum address awaiting a second confirmation

Veltrix Wallet shows a 0.10 ETH withdrawal to an allowlisted Ethereum address awaiting a second confirmation.

The trading integration used idempotency keys to guard against duplicate submissions. A repeated delivery of the same confirmed request uses the same key. A trader can still confirm a second order with identical terms as a separate operation.

A timeout illustrates why this matters. The exchange may accept an order and lose the response on its way back to the chat. In that situation, one approach is to tell the user the status is still being checked, then look up the order through the API. If the exchange supports a retry, use the original key. Submitting again with a new key can leave the user with two orders.

What to check in testing

Test what the agent understood and what the exchange actually received. An agent can correctly route a message to spot trading and still send the wrong quantity or pair.

Example test Expected behavior
“What happens if I sell 1 ETH?” Answer the question without creating an order.
“Buy 100” Ask which asset and what the amount is measured in.
The user changes the limit price after seeing the order preview. Show the new price and ask for confirmation again.
The user spends their available balance after seeing the preview. Check available funds at submission and show the rejection if the exchange declines the order.
The same confirmed request arrives twice. Submit one order.
The withdrawal address is missing from the allowlist. Block the request and explain why.

What went live

The exchange added one chat interface for six types of requests. Users could look up their account activity or start a supported trading or wallet operation in the same conversation. The exchange API still determined what could go through and what status the user saw.

If you want to add chat to an existing exchange, tell us which workflow your users should be able to complete first. Explore AI chatbot development with Merehead.

Found this useful? Share it Send it to your team or a co-founder planning a launch.
Contact

Have a Project in Mind? Let's Talk

Describe your idea or request and our expert will contact you within a couple of hours.

What happens next
1
We reply within a couple of hoursA business developer reads your request and asks only what matters.
2
A call with our expertWe discuss your goals, the architecture options and the risks we see.
3
You get a scope, budget and timelineA module-by-module estimate you can compare with any other quote.
11+years in software development
131projects delivered since 2015
5official technology partners

Do you want to start your own project?

Discuss your idea with our business development expert.

Describe your idea or request and our expert will contact you within a couple of hours. Or contact us directly via Telegram or WhatsApp.