FXCRM
API & DEVELOPER HUB · v2 REST & WS

The FXCRM API.
REST, WebSocket & webhooks.

Connect your broker CRM, PSPs, IB dashboards and trader apps to MT4/MT5 with one stable, versioned API surface. Stream quotes, route trades, reconcile balances and react to events in real time. Full SDKs, an OpenAPI spec and 24/7 engineering support from IT Corner Ltd.

99.95%
Hosted uptime SLA
<20ms
Edge latency
30k/min
Requests per key
24/7
Engineering support
One surface, four pillars

Everything you need to integrate FXCRM

The same bridge that powers FXCRM itself is available to your developers. No plugins, no screen scraping — a clean, documented API built for production broker workloads.

REST Trading Bridge

A stable, versioned REST surface covering accounts, trades, balance, KYC, IB commissions, groups and reports. Predictable JSON payloads, cursor pagination, and idempotency keys on every write.

WebSocket Streams

Subscribe to live ticks, equity, trade, balance and login events. Fan-out one bridge connection into thousands of consumer sockets — perfect for web & mobile trader apps.

Webhook Events

Signed event webhooks fire on every state change — new trade, deposit, withdrawal, KYC status, group move. Retry with exponential back-off and replay by event ID.

OAuth 2.0 & API Keys

Issue scoped API keys per environment, whitelist IPs, rotate secrets, and let partner apps in via OAuth 2.0 authorization-code flow with per-tenant scopes.

REST endpoints

A stable, versioned surface

Predictable JSON payloads, cursor pagination, idempotency keys and content-negotiated versioning. The full OpenAPI 3.1 spec drives your Postman collection, codegen and CI contract tests, so the API is exactly what the docs say it is.

GET/v1/accounts/{login}
POST/v1/accounts
PATCH/v1/accounts/{login}
POST/v1/balance
POST/v1/trades/open
POST/v1/trades/close
GET/v1/trades/open?login=
GET/v1/history
GET/v1/symbols
GET/v1/ib/commission
WSS/v1/stream/quotes
WSS/v1/stream/events
stream.ts
// Node.js — stream live quotes over WebSocket
import { FXCRM } from '@fxcrm/sdk-node';

const fx = new FXCRM({ apiKey: process.env.FXCRM_API_KEY });

const ws = fx.stream.quotes({ symbols: ['EURUSD', 'GBPUSD', 'XAUUSD'] });
ws.on('tick', (t) => console.log(t.symbol, t.bid, t.ask, t.time));

// REST: open a market buy on the same client
await fx.trades.open({
  login: 5001234,
  symbol: 'EURUSD',
  type: 'buy',
  volume: 1.0,
  sl: 1.0850,
  tp: 1.0980,
  idempotencyKey: 'order-7f3a',
});

The same client works in our sandbox (synthetic data) and production — only the API key changes.

Webhook events

React to everything, in real time

Every state change fires a signed webhook. Verify with HMAC, replay by event ID, and let our retry with exponential back-off handle transient outages on your side.

trade.opened

Fired when a new position is opened (market or filled pending).

trade.closed

Fired on close, partial close or forced close.

balance.changed

Deposit, withdrawal, credit, bonus or rollback applied.

kyc.updated

KYC / document status changed (approved, rejected, pending).

group.moved

Account moved between groups or leverage changed.

login.detected

Client login from a new device or IP range.

Official SDKs

Ship in your language, fast

Hand-rolled clients for the most common broker stacks, plus an OpenAPI spec for codegen in any language we don't ship first-party.

Node.js / TypeScript

@fxcrm/sdk-node

Full typed client for REST + WS, auto-reconnect, event emitter.

Python

fxcrm-sdk

Sync & async clients, pandas-ready trade history, webhook verifier.

PHP

fxcrm/fxcrm-php

Laravel-ready service provider and facade for broker back-offices.

Go

github.com/fxcrm/go

Minimal, fast HTTP + WSS client with context cancellation.

Built for broker-grade workloads

Secure by default, safe at scale

Per-key scopes

Read-only, trade, balance, KYC — grant the least privilege each integration needs.

IP whitelisting

Lock production keys to your server egress IPs and deny everything else.

Idempotency keys

Safely retry any write without double-crediting or double-trading.

Cursor pagination

Consistent paging through history, trades and reports at any volume.

Versioned responses

Content-negotiated v1 payloads; breaking changes ship as v2 only.

Sandbox + production

Identical API on a free sandbox with synthetic data before you go live.

OpenAPI 3.1 spec

One spec drives your Postman collection, codegen and CI contract tests.

PSP & LP connectors

Pre-built flows for leading PSPs and liquidity providers out of the box.

Get started

Live in three steps

01

Request access

Hit Contact Sales — we provision your sandbox tenant and API keys within one business day.

02

Build in the sandbox

Use synthetic data to wire up CRM, PSPs, IB dashboards and trader apps. No real money moves.

03

Go live

Swap to production keys, whitelist IPs, point webhooks at your handlers, and we monitor 24/7.

Ready to build on the FXCRM API?

Get a sandbox tenant, API keys and a walkthrough with our engineering team. Tell us what you're integrating and we'll point you at the right endpoints.

Talk to an engineer