Beta For AI trading agents and trading tools on MT4 and MT5

Hosted MetaTrader terminals for AI trading agents.

Tickwire runs a real MetaTrader terminal for every account. You get one API for MT4 and MT5. Your code keeps the same request and response shapes. Send an Idempotency-Key and a retry never sends it twice. If a result can't be confirmed, you get “unknown”.

  • 7-day free trial
  • From $12 per account a month
  • MT4 and MT5, one API
Placing an order (MT4 and MT5 use the same format)REST
POST /users/current/accounts/acc_7Qx/trade
Idempotency-Key: 5d1c0b0e-agent-run-42
X-Actor: agent:eurusd-scout
X-Reason: breakout above the Asian range

{ "actionType": "ORDER_TYPE_BUY", "symbol": "EURUSD",
  "volume": 0.1, "stopLoss": 1.0712 }
Send it again with the same key and you get the first result back, not a second order.

What Tickwire does

Agents retry, repeat themselves and act on half an answer. Here's what stops that from turning into a duplicate order or a trade you lost track of.

With an Idempotency-Key, a retry never double-fires

Send an Idempotency-Key with each change. If your agent retries or repeats itself, it gets the first result back instead of a second order.

A replay with the same key returns the stored result. Nothing is sent to the broker again.

Details

If we can't confirm an order, we say “unknown”

When the broker link drops mid-order, Tickwire checks the terminal before it answers. If it still can't tell whether the order went through, the answer is “unknown”, so you don't resend an order that may already be open.

Every order goes through this check.

Details

A log of who did what, and why

Each change is logged with who made it (X-Actor), why (X-Reason), the request and the result, so you can tell what a person did from what an agent did.

Every endpoint that changes something is logged. With no X-Actor, the log records the calling key's id. Direct terminal calls record “unknown” instead, and the request log shows which key sent them.

Details

Signed webhooks

Health changes and account events are delivered with an HMAC-SHA256 signature and a timestamp, so you can reject forgeries and replays.

Signature scheme and verification code are in the webhooks docs.

Details

Scoped and read-only keys, and a kill switch

Give an agent a key limited to some accounts, or a read-only key that can look but never trade. Each agent key and each account has a kill switch; turn it on and no order gets through.

Available now in the dashboard and API. Create keys scoped to specific accounts and toggle instant kill switches.

Details

A pre-trade decision hook for your own guard

Before an order goes out, Tickwire sends it to your own risk service in a signed request and waits for allow, deny or hold. No answer in time means no order: the hook fails closed.

Available now in the dashboard and API. Signed HMAC requests gate order execution, with automatic hold and release.

Details
How it works

Agent → Tickwire → your guard → broker

We don't write your trading rules. Your own service holds them (size limits, daily loss, news blackouts, a person approving). Tickwire checks with your guard before sending an order, and fails closed if it cannot answer.

  1. Your agent or toolAn AI agent, a copier, a risk tool or your own code calls one API.
  2. TickwireChecks the key, which accounts it may use and the kill switches, and spots repeats by their idempotency key.
  3. Your guard hookYour own service answers allow, deny or hold. No answer means no order.
  4. Broker, via a real terminalThe terminal sends the order to the broker, and you get back the result and the broker's code.

What an order result means

An order comes back applied (the terminal confirmed it), rejected (it definitely didn't execute) or unknown (it may have executed, so check before you send it again). Broker time is labelled as broker time, not UTC.

Idempotency and outcomes

The health ladder

Account health levels
StatusWhat it means
healthyBroker connected, account readable, ticks advancing.
staleConnected and readable, but prices have stopped. That's usually the broker, and the health reasons tell you.
disconnectedThe terminal is up but has no broker link.
downWe can't read the terminal at all, or the account isn't running. Then the answer says why.
How health is measured
Pricing

Monthly, in US dollars, per account

We bill you on whichever plan is cheapest for the number of accounts you run, and all plans have the same features. Starter is $12 per account a month on a shared address, or $14 with an own address. Pro and Premium include the addresses those accounts need.

7-day free trial on every plan.

Why now

MetaTrader 5 now works with AI agents, but only on your own computer.

In July 2026 MetaQuotes added native AI-agent (MCP) support to the MetaTrader 5 desktop terminal. Agents can now reach a terminal that runs on someone's own computer, while that computer is on.

A trading agent also needs a terminal that stays on, orders that don't go out twice when retried with the same key, and a record of what happened. Tickwire is that, hosted. A check your own code controls comes next, with the agent API.

Tickwire MCP server

The Tickwire MCP server lets AI apps and agents use Tickwire as tools: accounts, health, quotes, orders, trade status and their own audit log. Claude, ChatGPT and other apps that support remote MCP servers connect by signing in with Tickwire. Developer tools can send an agent key instead.

Tickwire for AI agents

One API

MT4 and MT5 look the same from the outside

Both platforms answer the same API, so your code doesn't need separate MT4 and MT5 paths.

Same shapes

Account information, positions, orders, history deals and orders, symbols and prices use identical fields on both platforms. MT4 closed orders come back as deals.

What MT4 can't do

MT4 has no market depth, tick history or stop-limit orders. Those calls return the error not_supported_on_mt4. Call /capabilities to see what an account supports.

Broker-agnostic

Any MT4 or MT5 broker works. Give the server name from the terminal's login dialog; there's no per-broker setup.

The MT5 API The MT4 API

Switch without a rewrite

Keep the API shapes your code already calls

The /users/current REST API

The /users/current/accounts/… REST paths, field names and trade return codes stay the same, so an integration written against those endpoints needs a new base URL and key. Use the REST endpoints directly or the Tickwire SDKs.

A MetaTrader API alternative: what stays the same

The /v1 and terminal routes: change the base URL and key

The /v1 API, the per-account terminal routes (AccountSummary, OrderSend, …), the WebSocket topics and the batch order endpoints keep their names and shapes.

# Existing /v1 client: change the base URL and the key.
- BASE = "https://<your current provider>/v1"
+ BASE = "https://api.tickwire.io/v1"
  headers = {"X-API-Key": TICKWIRE_KEY}
Switching from another provider
For trading tools too

The same guarantees for every caller

Risk tools, copiers, journals and bots use the same API, with the same retry protection and audit log. If a prop firm only allows one IP, choose an own address. No other customer uses it while you hold it.

Who builds on Tickwire

Try it

7-day free trial. Connect an MT4 or MT5 account, place and close an order with an idempotency key, then read it back in the audit log.