AI-native runtime for FXCM trading strategies
Author FXCM REST and ForexConnect SDK strategies in Cursor, Claude Code or any AI IDE. Deploy from GitHub into a managed cloud runtime with first-class MCP control, logs and region selection.
Section 01 · At a glance
At a glance
- Broker
- FXCM (Forex Capital Markets)
- Broker type
- Forex and CFD broker, restructured globally after 2017 US exit
- Asset class
- Forex, indices CFDs, commodities CFDs, metals, crypto CFDs (entity-dependent)
- Supported products
- 40+ spot FX currency pairs, major indices CFDs, metals (XAU/USD, XAG/USD), energies, and crypto CFDs on selected entities. US clients are not accepted.
- Runtime model
- Containerised strategy runtime
- Deployment source
- GitHub
- Languages
- Any language that runs in a container
- Common integrations
- FXCM REST API, FIX 4.4, ForexConnect SDK (Java, .NET, Python, C++), fxcmpy Python wrapper, NautilusTrader (legacy adapter), custom connectors
- AI workflow integration
- MCP control surface for Cursor, Claude Code, GitHub Copilot and CLI agents
- TradingHost role
- Runtime, deployment, logs, health checks, region selection, MCP control
- FXCM role
- Broker account, API access, market access, execution venue
- Regulators
- Forex Capital Markets Limited (FCA firm reference 217689, UK); FXCM Australia Pty Ltd (ASIC AFSL 309763); FXCM South Africa (Pty) Ltd (FSCA); FXCM offshore entities (FSA Seychelles, etc., legacy). FXCM is not registered with the CFTC or NFA and does not accept US retail clients.
- Retail leverage caps
- UK (FCA, ESMA-aligned) and EU: 30:1 on major FX, 20:1 on non-major FX and gold, 10:1 on non-gold commodities and non-major indices, 5:1 on stocks, 2:1 on crypto CFDs. Australia (ASIC): mirrors ESMA caps. South Africa (FSCA): higher leverage permitted per FSCA rules. Offshore entities may permit higher.
- Parent disclosure
- Following a January 2015 Swiss-franc-related emergency, Leucadia National (now Jefferies Financial Group, NYSE: JEF) extended a $300M rescue loan to FXCM. Jefferies later acquired the remaining FXCM stake; FXCM is part of the Jefferies / Global Brokerage holding structure.
- US history
- On 6 February 2017 the CFTC issued an order requiring FXCM to withdraw from US retail FX and to pay a $7 million civil monetary penalty. FXCM transferred its US customer accounts to GAIN Capital (now part of StoneX, operating FOREX.com). FXCM does not accept US retail clients today.
- Affiliation
- TradingHost is independent and is not affiliated with FXCM, Forex Capital Markets, Global Brokerage Inc. or Jefferies Financial Group
Section 02 · What FXCM offers
What FXCM offers
FXCM offers spot FX, indices and commodities CFDs and (per entity) crypto CFDs against FXCM accounts in the UK, Australia, South Africa and offshore entities through the FXCM REST API, FIX 4.4 and the ForexConnect SDK (Java, .NET, Python, C++). US retail clients are not accepted. Endpoint specifics and the full instrument list live in the FXCM API documentation.
Markets and strategy patterns
- fxcmpy Python wrapper strategies on 40+ FX pairs
- ForexConnect SDK Java strategies
- ForexConnect SDK .NET strategies
- ForexConnect SDK C++ low-latency strategies
- FIX 4.4 institutional execution
- Major indices and metals CFD strategies (non-US)
- Trading Station Web API strategies
API surface
- Product surfaces
- 40+ spot FX currency pairs, major indices CFDs, metals (XAU/USD, XAG/USD), energies and (per entity) crypto CFDs. US retail clients are not accepted; product availability outside the US is entity-dependent.
- Connection methods
- FXCM REST API; FIX 4.4 (Quote + Trade sessions); ForexConnect SDK in Java, .NET, Python and C++ (a higher-level wrapper around FXCMRest and the legacy FXCM Order2Go transport). The fxcmpy Python community wrapper is widely used.
- Authentication
- FXCM REST: token-based authentication (account API key issued from the FXCM client portal). FIX: SenderCompID and Password issued by FXCM after onboarding; live FIX is enabled on request. Live REST API keys for production are issued after an email request to api@fxcm.com; demo API keys are available without that step.
For specifics, refer to FXCM
FXCM's REST documentation, the ForexConnect SDK repository and the CFTC settlement are the source of truth for endpoints, SDKs and history.
- fxcm.com/markets/algorithmic-trading/api-tradingFXCM API trading overview
- fxcm-rest.readthedocs.ioFXCM REST API documentation
- github.com/fxcm/ForexConnectAPIForexConnect SDK (Java, .NET, Python, C++)
- cftc.gov 2017 FXCM orderCFTC settlement and US withdrawal (Feb 2017)
- en.wikipedia.org/wiki/FXCMRegulatory and corporate history summary
Section 03 · Build with AI
Build your FXCM strategy with AI
Pick an integration method, fork a TradingHost framework starter, and author your strategy in an AI IDE. FXCM REST and the ForexConnect SDK are the most common TradingHost-compatible paths; FIX 4.4 is available for institutional-style execution. Share CFDs are not part of FXCM's standard offering.
FXCM REST API
HTTP REST surface for orders, accounts, market data and trade history.
fxcmpy (Python wrapper)
Maintained community Python wrapper around the FXCM REST API. Convenient ergonomics for Python algo developers.
ForexConnect SDK
First-party SDK in Java, .NET, Python and C++ wrapping FXCM's native order transport. Lower-latency than raw REST in many cases.
FIX 4.4 or custom connector
FXCM FIX 4.4 session, or your own integration on top of the REST API or ForexConnect SDK.
Framework support for FXCM products
FXCM REST, fxcmpy, ForexConnect SDK and FIX 4.4 all span FXCM's FX, indices and commodities surface. Share CFDs are not part of FXCM's offering. Crypto CFDs depend on the FXCM entity.
✓ confirmed support per FXCM documentation. "no" indicates not in FXCM's standard product offering. "entity-dependent" means availability depends on the FXCM entity.
TradingHost does not force a framework. It runs your project.
Author with AI
The framework starters above pair naturally with AI IDEs. The TradingHost MCP control surface closes the loop: AI tools can inspect deployments, review logs and manage the runtime alongside you, never the trade execution path.
Section 04 · Run on TradingHost
Run your code on TradingHost
FXCM provides the broker account, REST API and ForexConnect SDK. TradingHost provides the production environment where your FXCM-connected strategy runs.
Instead of running strategy code on a laptop, desktop machine, generic VPS or manually configured server, you deploy from GitHub into a TradingHost-managed container runtime.
You
- Your repo contains your code.
- Your deployment defines how it runs.
- Your strategy connects to FXCM via REST, FIX or ForexConnect SDK.
TradingHost
- Keeps the runtime online.
- Surfaces logs and health checks.
- Region selection.
- Controlled deployment surface.
Deployment flow
- STEP 01
Connect GitHub
Authorise TradingHost to access your GitHub account.
- STEP 02
Link a repo or start from a framework
Point TradingHost at your existing strategy repo, or fork a TradingHost FXCM REST, fxcmpy or ForexConnect SDK starter.
- STEP 03
Deploy into a TradingHost container
Pick a region (EU for Forex Capital Markets Limited UK / FCA and EU traffic, or the FXCM Australia entity), supply the environment values your strategy needs (FXCM REST API token, account selector, or ForexConnect SDK credentials), and deploy. TradingHost builds your container from the repo and runs your strategy on managed Kubernetes infrastructure.
- STEP 04
Monitor logs and health
Watch live logs, health and runtime state from the TradingHost dashboard. The same surface is reachable through MCP from any AI IDE, so Cursor, Claude Code or a CLI agent can read deployment state and manage the runtime alongside you.
- STEP 05
Update and redeploy
Push changes to your GitHub main branch and TradingHost redeploys automatically.
Section 05 · Operational notes
Operational notes for FXCM
Things that bite you when you actually run an FXCM strategy in a containerised cloud runtime. Every claim is paraphrased from FXCM, CFTC press releases or the relevant regulator; the deployment-side guidance is from running these strategies on TradingHost.
01 · US history
CFTC banned FXCM from US retail FX in February 2017; book transferred to GAIN Capital
On 6 February 2017 the CFTC issued an order requiring FXCM to withdraw from US retail FX and to pay a $7 million civil monetary penalty after finding FXCM had concealed its relationship with a market maker. FXCM's US customer accounts were transferred to GAIN Capital (now part of StoneX, operating FOREX.com). FXCM does not accept US retail clients today. Strategies for US retail traders must use a CFTC-registered broker like OANDA Corporation or FOREX.com.
02 · Live REST enablement
Live REST API keys are issued after an email to api@fxcm.com
FXCM provides REST API access on demo accounts by default (useful for development against the same API surface). For a live account, the user must email api@fxcm.com referencing their account number to enable REST access. This onboarding latency is FXCM-specific. Demo and live API keys are not interchangeable; treat them as separate TradingHost Secrets entries.
03 · SDK choice
fxcmpy is the easy path; ForexConnect SDK is the lower-latency path
The fxcmpy Python wrapper is a maintained community library around the FXCM REST API. For higher-throughput or lower-latency strategies, FXCM's first-party ForexConnect SDK (Java, .NET, Python, C++) wraps a more direct FXCM transport. Most retail algo strategies use fxcmpy; latency-sensitive workloads use ForexConnect. Both surfaces are TradingHost-runnable.
SourceForexConnect SDK04 · Parent disclosure
Jefferies / Global Brokerage holding structure
Following a January 2015 Swiss-franc-related solvency event, Leucadia National (now Jefferies Financial Group, NYSE: JEF) extended a $300M rescue loan to FXCM and subsequently became the controlling parent. FXCM operates today within the Jefferies / Global Brokerage holding structure. Note this in counterparty risk analysis; FXCM is not a standalone entity in the legal sense.
05 · Multi-entity
Leverage and product availability depend on the FXCM entity
Forex Capital Markets Limited (FCA 217689, UK), FXCM Australia Pty Ltd (ASIC AFSL 309763), FXCM South Africa (Pty) Ltd (FSCA) and offshore FXCM entities operate separately. UK / EU and AU entities apply ESMA-aligned 30:1 majors caps. South Africa and offshore entities may permit higher leverage. The API surface is the same across entities, but a strategy that hard-codes leverage cannot assume the entity.
06 · Trade reporting
EMIR, MiFID II and ASIC reporting is FXCM's responsibility
Forex Capital Markets Limited reports under FCA / MiFID II / EMIR rules. FXCM Australia Pty Ltd reports under ASIC derivative trade-reporting rules. FXCM South Africa reports under FSCA rules. TradingHost does not perform regulatory trade reporting on your behalf. The strategy code you run on TradingHost is your own algorithmic activity; reporting attaches to the FXCM entity holding the account.
SourceFCA register
Section 06 · Built for
Built for
TradingHost FXCM runtimes are best suited to:
- Developers building strategies in AI IDEs (Cursor, Claude Code)
- fxcmpy Python developers
- ForexConnect SDK Java, .NET and C++ developers
- Quant FX systematic traders outside the US
- Teams moving from MetaTrader and VPS hosting to containerised deployment
Connecting GitHub and creating your first strategy is free.
Section 08 · FAQ
FAQ
No. TradingHost is independent and is not affiliated with FXCM, Forex Capital Markets, Global Brokerage Inc. or Jefferies Financial Group.
No. TradingHost is not a broker and is not a registered investment firm. TradingHost is a cloud runtime that runs your strategy code. The broker relationship, the account, the leverage, the execution and the regulatory protections all live with the FXCM entity that holds your account.
No. Your strategy code connects to FXCM REST, FIX or ForexConnect SDK and sends instructions according to your own logic. TradingHost provides the runtime where that code runs.
No. FXCM REST, FIX and ForexConnect SDK access is provided by FXCM. Live REST keys are issued after an email to api@fxcm.com referencing the account.
No. The CFTC issued an order in February 2017 requiring FXCM to withdraw from US retail FX. FXCM is not CFTC-registered today and does not accept US retail clients. The FXCM US customer book transferred to GAIN Capital, which operates FOREX.com today (now part of StoneX). For US retail strategies, see the OANDA or FOREX.com pages.
Yes, globally. FXCM continues to operate under FCA, ASIC, FSCA and offshore entities outside the US. The CFTC order banned FXCM specifically from US retail FX; it did not affect operations under other regulators. Following a January 2015 Swiss-franc-related event, Leucadia (now Jefferies Financial Group) extended a $300M rescue loan and subsequently became the controlling parent.
Yes. The fxcmpy community Python wrapper is widely used, and the ForexConnect SDK has a Python binding. Both run on TradingHost.
Yes. TradingHost supports any language that can run inside a container. ForexConnect SDK has first-party Java, .NET, Python and C++ bindings. FXCM REST is HTTP, so any HTTP client works. FXCM FIX 4.4 is standard FIX, so any FIX engine works.
Open an FXCM account (non-US entity). Email api@fxcm.com to enable REST on the live account, or use a demo account where REST is enabled by default. Fork a TradingHost fxcmpy or ForexConnect SDK starter, or connect your own GitHub strategy repo. Linking a GitHub repo and creating a strategy is free; runtime plans are listed on the pricing page.
Yes. Leverage is set by the FXCM entity. Forex Capital Markets Limited (FCA) and FXCM Australia Pty Ltd (ASIC) apply ESMA-aligned caps (30:1 majors). FXCM South Africa (FSCA) and offshore entities may permit higher leverage. The API surface is the same across entities.
In your GitHub-controlled secrets workflow. TradingHost reads the FXCM REST token, FIX SenderCompID/Password or ForexConnect credentials at runtime through GitHub repository secrets.
Yes. TradingHost supports MCP-based control for AI IDEs including Cursor, Claude Code, GitHub Copilot and CLI-based AI agents. MCP is a control and observability surface, not the trade execution path.
No. EMIR and MiFID II trade reporting is the broker's responsibility. Forex Capital Markets Limited reports under FCA / MiFID II / EMIR rules. FXCM Australia reports under ASIC derivative trade-reporting rules. FXCM South Africa reports under FSCA rules. TradingHost runs your code; the FXCM entity handles regulatory reporting.
No. TradingHost is focused on production runtime and deployment. Backtesting belongs in your research stack, in a framework like NautilusTrader, or in AlgoBuilder. FXCM offers historical data via its data export endpoints for backtest use.