Gunbot
The Gunbot REST API enables you to programmatically interact with Gunbot, a self hosted trading bot for crypto, ETFs and stocks, allowing automation and integration with your own applications and services. It gives you a single API with which you can control trading operations on many exchanges. The API accepts and returns data in JSON format. It uses standard HTTP response codes to indicate…
Gunbot endpoints
| Method | Endpoint | Description |
|---|---|---|
| Authentication | ||
| POST |
/auth/login /auth/login |
Authenticate a user and obtain a JSON Web Token (JWT). |
| GET |
/auth/status /auth/status |
Validate the current session's authentication status using the provided token. |
| Balances Assets Pairs | ||
| GET |
/pairs/detailed /pairs/detailed |
Retrieve detailed trading pair information for a specified exchange. The `exchange` parameter should be URL-encoded if it contains special characters. |
| GET |
/pairs /pairs |
Retrieve a list of trading pairs for a specified exchange. The `exchange` parameter should be URL-encoded if it contains special characters (e.g., `#` as `%23`). |
| POST |
/assets/total /assets/total |
Retrieve historical total asset value in a base currency over a time range. |
| POST |
/balances /balances |
Retrieve asset balances across exchanges for the authenticated user. |
| Configuration Files | ||
| POST |
/config/strategy/remove /config/strategy/remove |
Remove a trading strategy from the configuration. |
| POST |
/config/strategy/add /config/strategy/add |
Add a new trading strategy to the configuration. |
| POST |
/config/pair/remove /config/pair/remove |
Remove a trading pair from the configuration. |
| POST |
/files/backup/get /files/backup/get |
Retrieve the content of a specified backup file. |
| POST |
/config/pair/add /config/pair/add |
Add a new trading pair to the configuration. |
| POST |
/config/update /config/update |
Update the entire configuration with a new object. |
| GET |
/files/acvar /files/acvar |
List filenames of available AutoConfig variable files. |
| POST |
/files/state/get /files/state/get |
Retrieve the content of a specific state file. |
| POST |
/files/strategy/get /files/strategy/get |
Retrieve the content of a specific custom strategy file. The response is the raw content of the file, likely JavaScript code, wrapped in a JSON object. |
| POST |
/files/strategy/write /files/strategy/write |
Write JavaScript code content to a specific custom strategy file. |
| GET |
/config/full /config/full |
Retrieve the entire application configuration. |
| POST |
/files/custom-editor/write /files/custom-editor/write |
Write content to the custom strategy editor file. |
| POST |
/files/backup /files/backup |
List available backup files. |
| POST |
/files/autoconfig/write /files/autoconfig/write |
Write content to the `autoconfig.json` file. |
| GET |
/files/state /files/state |
List filenames of available state files. |
| GET |
/files/strategy /files/strategy |
List filenames of available custom strategy files (JavaScript files). |
| POST |
/files/strategy/delete /files/strategy/delete |
Delete a specific custom strategy file. |
| POST |
/files/custom-editor/get /files/custom-editor/get |
Retrieve the content of the custom strategy editor file. |
| POST |
/files/acvar/get /files/acvar/get |
Retrieve the content of a specified AutoConfig variable file. |
| Market Data | ||
| POST |
/coremem /coremem |
Retrieve a snapshot of relevant core memory data for all active trading pairs. Data is slightly delayed and transformed for frontend use. |
| POST |
/coremem/single /coremem/single |
Retrieve a snapshot of relevant core memory data for a single active trading pair. Data is slightly delayed and transformed. |
| GET |
/market/candles /market/candles |
Retrieve historical OHLCV candle data for a trading pair. The `key` parameter (exchange/pair) must be URL-encoded. |
| POST |
/coremem/raw /coremem/raw |
Retrieve raw core memory data for a specific trading pair, optionally filtered by elements. |
| POST |
/chart/data /chart/data |
Retrieve chart data, including candles and indicators, for a specific trading pair. |
| GET |
/chart/marks /chart/marks |
Retrieve chart timescale marks (annotations like buy/sell triggers) for a pair and interval. |
| GET |
/market/orderbook /market/orderbook |
Retrieve current order book (bids and asks) for a trading pair. The `key` parameter must be URL-encoded. |
| PNL | ||
| GET |
/pnl/total /pnl/total |
Retrieve total PNL for a specific trading key. The `key` parameter must be URL-encoded. |
| POST |
/pnl/overview /pnl/overview |
Retrieve an overview of PNL data, summarized over time periods and trading pairs. |
| GET |
/pnl/daily /pnl/daily |
Retrieve daily PNL data for a specific trading key within a time range. The `key` parameter must be URL-encoded. |
| GET |
/pnl/sum /pnl/sum |
Retrieve total PNL sum and investment for an exchange key over a time range. The `exchange` parameter (exchange key) must be URL-encoded. |
| GET |
/pnl/daily/paginated /pnl/daily/paginated |
Retrieve paginated daily PNL data for a specific trading key. The `key` parameter must be URL-encoded. |
| System License | ||
| POST |
/system/start /system/start |
Start the Gunbot system. Returns current configuration without private keys. |
| GET |
/time /time |
Retrieve the current server time in milliseconds since Unix epoch. |
| POST |
/system/stop /system/stop |
Stop the Gunbot system. Returns current configuration without private keys. |
| POST |
/license/keys/edit /license/keys/edit |
Edit license keys for a wallet, optionally verifying with an exchange. |
| Trading Orders | ||
| GET |
/orders/page/multi /orders/page/multi |
Retrieve paginated orders for multiple trading pairs. Individual keys in `keys[]` array must be URL-encoded if needed. |
| GET |
/orders/day /orders/day |
Retrieve orders from the current day for multiple trading pairs. Individual keys in `keys[]` array must be URL-encoded if they contain special characters. |
| POST |
/trade/sell/market /trade/sell/market |
Place a market sell order. |
| GET |
/orders/page /orders/page |
Retrieve paginated orders for a trading pair. The `key` parameter must be URL-encoded. |
| POST |
/trade/cancel /trade/cancel |
Cancel an existing order. |
| POST |
/trade/sell /trade/sell |
Place a limit sell order. |
| POST |
/trade/buy/market /trade/buy/market |
Place a market buy order. |
| POST |
/trade/buy /trade/buy |
Place a limit buy order. |
| GET |
/orders /orders |
Retrieve locally stored order history for a trading pair. The `key` parameter must be URL-encoded. |
Gunbot pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|