OrderFill

One contract, every language

The same operation has the same name and behaviour in every SDK.

Every official SDK is built from one written contract and tested against the same scenario before release. An operation has one name, spelled in each language's convention, and behaves the same everywhere: the same idempotency, the same retries, the same errors.

OperationTypeScriptPythonRust
Connect an accountconnect(input)connect(platform, login, password, server)connect(&Connect::new(…))
List accountsaccounts()accounts()accounts()
Capabilitiescapabilities()capabilities()capabilities()
Summarysummary()summary()summary()
Positionspositions()positions()positions()
Working ordersorders()orders()orders()
Fillsexecutions({ from, to })executions(from_=, to=)executions(from, to)
Quotequote(symbol)quote(symbol)quote(symbol)
Candlescandles(symbol, { timeframe })candles(symbol, timeframe)candles(symbol, timeframe, from, to)
Instrumentsinstruments()instruments()instruments()
Symbolssymbols({ q, all })symbols(q=, all=)symbols(q, all)
Resolve a nameresolve(name)resolve(name)resolve(name)
Pin a mappingsetSymbolOverride(name, s)set_symbol_override(name, s)set_symbol_override(name, s)
PlaceplaceOrder(input, key?)place_order(symbol, side, volume, …)place_order(&PlaceOrder::…)
CheckcheckOrder(input)check_order(…)check_order(&order)
CancelcancelOrder(ticket)cancel_order(ticket)cancel_order(ticket, key)
Move stopsmodifyPosition(ticket, changes)modify_position(ticket, …)modify_position(ticket, &Modify)
Close oneclosePosition(ticket, { volume })close_position(ticket, volume=)close_position(ticket, volume, key)
Close manyclosePositions({ symbol, filter })close_positions(symbol=, filter=)close_positions(&ClosePositions)
Streamwatch(id, stream, fn, params)watch(id, stream, fn, symbol=)watch(id, stream, symbol, interval)

What every SDK does for you

  • An idempotency key on every call that changes an account, reused across its own retries, so a dropped connection cannot act twice.
  • Retries only where they help: rate_limited, internal, upstream_failed and network failures, at most three attempts with jittered backoff, honouring Retry-After.
  • One error type with the code, status, message, hint and request ID.
  • Unknown response fields ignored, so a newer API never breaks an older SDK.
  • Streams that reconnect and re-subscribe on their own, and stop only for a rejected token.

On this page