One backend, three ways in.
The gRPC interface exposes the same MetaTrader API surface over Protocol Buffers, with typed request/response methods and server-streaming. You get generated client stubs in your language, compile-time-checked messages, and low-overhead binary framing — ideal for trading systems where latency and throughput matter. Alongside typed methods like AccountSummary, GetQuote and OrderSend, a generic Call method reaches every REST endpoint by name, and StreamQuotes / StreamTrades push data as it happens. Authentication uses the same key you already have, passed in gRPC metadata.
Same account. Choose the interface that fits.
REST
Simplest to call — plain HTTPS and JSON. Great for scripts, dashboards and back-office tools.
WebSocket
Quotes, trades and connection state streamed the instant they change. Great for UIs and bots.
gRPC
Typed stubs and server-streaming over Protocol Buffers. Great for latency-sensitive trading systems.
For systems that treat milliseconds as money.
Low-latency execution
Binary framing and persistent connections shave overhead off every order and quote.
Polyglot backends
Generate stubs in Go, Rust, Java, Python or C# from one proto and stay type-safe.
High-fan-out streaming
Server-streamed quotes and trades feed many symbols down one efficient channel.
Frequently asked
Is there a gRPC interface for the MetaTrader API?+
.proto: typed methods such as AccountSummary, GetQuote and OrderSend, a generic Call for any endpoint, and server-streaming for quotes and trades.Why choose gRPC over REST or WebSocket?+
How do I authenticate a gRPC call?+
Can I stream quotes and trades over gRPC?+
StreamQuotes pushes quote updates for the symbols you request, and StreamTrades pushes trade events as positions open and close, both as server-streams.Which languages are supported?+
.proto file.Generate a client and stream typed data.
Grab the proto, generate stubs in your language, and hit the same account you already use over REST.