Tickwire for AI agents

Let your agent trade. Keep the final say.

Tickwire sits between your AI agent and a real MT4 or MT5 terminal. It sends each order once and reports what actually happened, or “unknown” if that can't be confirmed. Whether a trade is a good idea is up to you.

Real terminals, one API for MT4 and MT5, with the API shapes existing clients already call.

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.

The address:

https://api.tickwire.io/mcp

Setup for Claude and ChatGPT is below.

Connect an AI app

Use Tickwire from Claude or ChatGPT

Paste the Tickwire address, sign in, and choose which accounts the app may use and whether it may only look or also trade. There is no key to copy.

Claude

Plans: Free (one custom connector), Pro, Max, Team and Enterprise, on claude.ai and the Claude desktop app.

  1. Open Customize › Connectors, press + Add, then Add custom connector.
  2. Name it Tickwire, paste the address and press Continue.
  3. Keep the sign-in settings Claude suggests and press Add. You don't need a key or a client ID.
  4. Sign in with your Tickwire login, pick the accounts, choose Look only or Look and trade, and press Allow.
  5. In a chat, press + › Connectors and turn Tickwire on.

Team and Enterprise: an owner adds the connector first under Organization settings › Connectors. Each member then presses Connect under Customize › Connectors.

Steps from Anthropic's documentation, checked on 4 October 2026. Claude Help Center: custom connectors

ChatGPT

Plans: Plus, Pro, Business, Enterprise and Education, on the web (chatgpt.com). Not on the free plan. In a Business, Enterprise or Education workspace an admin may have to allow developer mode first.

  1. On chatgpt.com, open Settings › Security and login and turn on Developer mode.
  2. Go to Plugins and press + to create an app.
  3. Name it Tickwire, paste the address under Connection, choose OAuth and create it.
  4. Sign in with your Tickwire login, pick the accounts, choose Look only or Look and trade, and press Allow.
  5. In a new chat, open the + menu, choose Developer mode and select Tickwire.

ChatGPT asks you to confirm each action that changes something, such as placing an order, unless you tell it to remember your answer for that chat.

Steps from OpenAI's documentation, checked on 4 October 2026. OpenAI: developer mode · OpenAI: connect from ChatGPT

System prompt templates for Claude & ChatGPT

Copy and paste this into your Custom Instructions or Project prompt so your assistant trades safely:

You are a trading assistant connected to Tickwire via MCP.
- Always inspect account state and open positions before proposing or placing a trade.
- Always include an Idempotency-Key and a clear reason (X-Reason) with every trade order.
- If an order returns "unknown", treat it as possibly executed. Never resend or double the order. Check open orders first.
- If the user has set risk limits or if markets are closed, do not place orders.

An app connected this way is limited like an agent key: it can use only the accounts you pick, and only look if you chose Look only. You can disconnect it at any time from Connected apps in the dashboard. Kill switches and pre-trade hooks apply directly to its orders.

Other MCP apps

Most apps that support remote MCP servers work, for example Claude Code and Cursor. Give the app this address:

https://api.tickwire.io/mcp

There are two ways to connect:

  • Sign in with Tickwire. Paste the address. The app opens Tickwire's sign-in, where you pick the accounts and what it may do.
  • An agent key. For developer tools that let you set request headers. Create an agent key in the dashboard and send it as Authorization: Bearer twag_….
The guarded path

Agent → Tickwire → your guard hook → broker

  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.

This is the path once the agent API arrives. Key scope, read-only and kill switches are checked before your hook is called, and a stopped agent gets no further than that.

Who does what

Tickwire gives you the controls. Your guard sets the rules.

Tickwire doesYour guard does, on the hook
Scoped and read-only keysMaximum volume, maximum open positions
Kill switch per agent key and per accountDaily or total loss limits, drawdown
Repeated calls with the same idempotency key don't trade twiceTrading hours, news blackouts, symbol lists
An actor and a reason on every trade, in the audit logHuman approval: answer hold, then release
Clear order results: applied, rejected or unknownAnything else you want to enforce
Signed webhooks and a signed, fail-closed pre-trade hook
Pre-trade decision hook

Your guard answers allow, deny or hold

Register one URL per account or per agent key. Before any order is sent, Tickwire posts the order, who asked, why, and a fresh read of the account to it, signed with HMAC-SHA256.

The request

POST https://guard.example.com/decide
X-Tickwire-Event: pretrade.decision_request
X-Tickwire-Timestamp: 1790244000
X-Tickwire-Signature: sha256=…

{
  "type": "pretrade.decision_request",
  "request_id": "dr_…",
  "deadline_ms": 2000,
  "account_id": "acc_7Qx",
  "platform": "mt5",
  "actor": { "kind": "agent", "label": "agent:eurusd-scout" },
  "reason": "breakout above the Asian range",
  "order": { "actionType": "ORDER_TYPE_BUY", "symbol": "EURUSD", "volume": 0.5, "stopLoss": 1.0712 },
  "account": { "balance": 10000.0, "equity": 9950.2, "currency": "USD", "source": "terminal" }
}

Your answer

HTTP/1.1 200 OK
X-Tickwire-Timestamp: 1790244000
X-Tickwire-Signature: sha256=…

{ "request_id": "dr_…", "decision": "deny", "message": "daily loss limit reached" }
  • allow: the order is sent once, and the agent gets the confirmed outcome (or unknown).
  • deny: nothing is sent; the agent sees your message.
  • hold: nothing is sent until you release it, for example after a person approves.
  • Fails closed by default: a timeout, an error, an unsigned or malformed answer means the order is not sent.
  • The answer echoes request_id, so a recorded allow can't be replayed for another order.

Available now. Register pre-trade hooks in your dashboard under AI agents > Pre-trade hooks or through /v1/pretrade-hooks. When configured with applies_to: all, orders sent through the direct REST trading route (/users/current/…/trade) are also automatically routed through your guard.

What we guarantee

Each control and its proof

Guarantees for AI agents, with their proof
GuaranteeProof
With an Idempotency-Key, a retry never double-fires A replay with the same key returns the stored result. Nothing is sent to the broker again.
If we can't confirm an order, we say “unknown” Every order goes through this check.
A log of who did what, and why 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.
Signed webhooks Signature scheme and verification code are in the webhooks docs.
Scoped and read-only keys, and a kill switch Available now in the dashboard and API. Create keys scoped to specific accounts and toggle instant kill switches.
A pre-trade decision hook for your own guard Available now in the dashboard and API. Signed HMAC requests gate order execution, with automatic hold and release.
MCP tools

What an agent can call

These are the MCP server's tools. Each trading tool needs a reason and takes a client request id. A model that repeats a call with the same id doesn't trade twice. Without an id, the same order repeated within a minute gets the first answer back instead of a second trade. Text from the broker or terminal is marked untrusted, which tells the model not to follow instructions in it.

Tickwire MCP server tools
ToolDoes
list_accountsAccounts this key may use: id, platform, server, login, status
get_agent_permissionsRead-only flag, kill switches, scope, and which hooks review orders
get_account_healthconnected, disconnected or unknown, with the evidence
get_account_infoBalance, equity, margin, free margin, leverage, currency
get_positionsOpen positions
get_ordersPending orders
get_quoteBid and ask, with their times
get_symbol_specVolume limits, digits, contract size
get_historyDeals in a window: 24 hours by default, at most 31 days
place_orderMarket, limit, stop and stop-limit orders, with absolute stop loss and take profit
modify_positionChange a position's stop loss or take profit
close_positionClose a position in full or in part
modify_orderChange a pending order
cancel_orderCancel a pending order
get_trade_statusWhat happened to a trade, by its idempotency key
get_audit_logThis agent's own audit trail
search_tickwire_docsSearch the public docs and API reference (read-only)

Units: volumes in lots, prices absolute, money in the account currency, times in UTC unless a field is labelled broker time.

The tools work on MT4 and MT5 accounts. Stop-limit orders are MT5 only. See MT5 and MT4 for what each platform supports.

Your responsibility

You run the agent and the guard

Tickwire executes what your agent asks, within the limits you set. It gives no investment advice and doesn't judge trades. You're responsible for your agents, your guard and the accounts you connect, as the terms and acceptable use policy say.

Give a new agent a read-only key first.

Get started today

Try it

Seven-day free trial. Give your agent a read-only key first, then let it trade.