Maximize Your
Crypto Returns

Connect to multiple crypto exchanges with intelligent algorithms designed to minimize fees and maximize your trading efficiency.

Save money while you trade smarter.

Direct Connectivity
Lower Trading Fees
Smart Algorithms
Standard Trading Fees
$1000.00
ExecX Optimized Fees
$800.00
You Save $200.00
A 20% Fee Reduction

*Fees are representative of Binance Spot VIP 2

Supported Exchanges

Binance Logo - Supported Exchange Bybit Logo - Supported Exchange Deribit Logo - Supported Exchange OKX Logo - Supported Exchange

Simplify then add lightness

ExecX runs on your own machine with no data collection. Experience lightning-fast execution with complete privacy and control.

Self-Hosted Speed

Microsecond execution time running directly on your machine. No network latency, no third-party delays.

Complete Privacy

Zero data collection. Your trading data never leaves your machine. Only API key verification required.

Maker Fees Optimisation

Our target position manager will use maker only trades to reduce your fees and reach a desired position.

Vertical Bars Icon

Multi-Exchange Support

Connect to four major exchanges simultaneously. Unified API for seamless cross-exchange trading.

Developer Friendly

Simple REST API with full OpenAPI support. Get started in minutes with comprehensive docs.

Target Icon

Algorithm Toolbox

Use our library of trading algorithms to maximise your trading returns, from dip buying to grid trading.

Quick Start

Get up and running in minutes with our simple REST API

Python

import requests

url = "http://localhost:35027"
sessionId = "example-session"

# send logon request
exchangeKey = {
    "apiKey": "key",
    "secretKey": "key",
    "exchange": "binance-spot"
}

startOrderHandler = {
    "exchangeKey": exchangeKey,
    "sessionId": sessionId
}

response = requests.post(url+"/startOrderHandler", json=startOrderHandler)
if response.status_code != 200:
    raise Exception("unexpected response when starting order handler session")

# send an order
newOrder = {
    "clOrderId": "a",
    "symbol": "BTCUSDT",
    "sessionId": sessionId,
    "transactionType": "pull"
}

response = requests.post(url+"/sendOrder", json=newOrder)
if response.status_code != 200:
    raise Exception("unexpected response when sending order")
else:
    print("sent order")

JavaScript

const axios = require('axios');

const url = "http://localhost:35027";
const sessionId = "example-session";

const exchangeKey = {
    apiKey: "key",
    secretKey: "key",
    exchange: "binance-spot"
};

const startOrderHandler = {
    exchangeKey: exchangeKey,
    sessionId: sessionId
};

// send logon request
axios.post(`${url}/startOrderHandler`, startOrderHandler).then(response => {
    if (response.status !== 200) {
        throw new Error("unexpected response when starting order handler session");
    }
}).catch(error => {
    console.error(error.message);
});

// send new order
const newOrder = {
    clOrderId: "a",
    symbol: "BTCUSDT",
    sessionId: sessionId,
    transactionType: "pull"
};

axios.post(`${url}/sendOrder`, newOrder).then(response => {
    if (response.status !== 200) {
        throw new Error("unexpected response when sending order");
    } else {
        console.log("sent order")
    }
}).catch(error => {
    console.error(error.message);
});

Go

package main

import (
    "bytes"
    "encoding/json"
    "log"
    "net/http"
)

type ExchangeKey struct {
    ApiKey    string `json:"apiKey"`
    SecretKey string `json:"secretKey"`
    Exchange  string `json:"exchange"`
}

type StartOrderHandler struct {
    ExchangeKey ExchangeKey `json:"exchangeKey"`
    SessionId   string      `json:"sessionId"`
}

type NewOrder struct {
    ClOrderId       string `json:"clOrderId"`
    Symbol          string `json:"symbol"`
    SessionId       string `json:"sessionId"`
    TransactionType string `json:"transactionType"`
}

func main() {
    restUrl := "http://localhost:35027"
    sessionId := "example-session"

    // send a logon request
    startOrderHandler := StartOrderHandler{
      ExchangeKey: ExchangeKey{
        ApiKey:    "apikey",
        SecretKey: "secretkey",
        Exchange:  "binance-spot",
      },
      SessionId: sessionId,
    }

    b, err := json.Marshal(startOrderHandler)
    if err != nil {
      log.Fatal(err)
    }

    resp, err := http.Post(restUrl+"/startOrderHandler", "application/json", bytes.NewBuffer(b))
    if resp.StatusCode != http.StatusOK {
      log.Fatal(err)
    }

    // send an order
    newOrder := NewOrder{
      ClOrderId:       "a",
      Symbol:          "BTCUSDT",
      SessionId:       sessionId,
      TransactionType: "pull",
    }

    b, err = json.Marshal(newOrder)
    if err != nil {
      log.Fatal(err)
    }

    resp, err = http.Post(restUrl+"/sendOrder", "application/json", bytes.NewBuffer(b))
    if resp.StatusCode != http.StatusOK {
      log.Fatal(err)
    } else {
      log.Print("sent order")
    }
}

Simple, Transparent Pricing

A single plan with all features

ExecX Logo Symbol
£99 /month
  • 30 day free trial
  • Unlimited deployments
  • Trigger based orders
  • Target position manager
  • Access to all features and updates
  • No minimum contract
Start Free Trial