Intoduction

Unnamed provides a simple and powerful API consisting of REST endpoints for transactional operations and a complementary Websocket service providing streaming market, order, and balance updates.

Access to and use of the API is governed by our Terms of Service. If you are a user of Unnamed, the applicable Terms of Service are available here.

Getting Started

Create an API Key You can create and manage your API Keys in you Settings section The API Key permission is granular so only enable the sections of the API you wish to use. Using the IP address whitelist restrictions for API keys is strongly recommended. Withdrawals are resticted to AddressBook entries only unless disabled explicitly. Rate Limiting The Unnamed API employs rate limiting on all endpoints to ensure the efficiency and availability of the platform for all customers. In general, API users are permitted to make a maximum of 100 API calls per minute. Calls after the limit will fail(HttpCode: 429), with the limit resetting at the start of the next minute. If you are a corporate customer and need higher rate limits please contact customer Support for additional information.

Public HTTP API Methods

The public HTTP API allows read access to public market data.

There are nine public methods, all of which take HTTP GET requests and return output in JSON format. No authentication is necessary but you must not excessively use any API endpoint.

Ping

Simple ping method to test connection to the Api
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/Ping
NodeJs Example:
TODO
C# Example:
TODO

Time

Returns the current server time in unix format
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/Time
NodeJs Example:
TODO
C# Example:
TODO

Market Info

Returns all market information
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/MarketInfo
NodeJs Example:
TODO
C# Example:
TODO

Asset Info

Returns all currency information
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/AssetInfo
NodeJs Example:
TODO
C# Example:
TODO

Wallet Info

Returns all wallet information
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/WalletInfo
NodeJs Example:
TODO
C# Example:
TODO

Volume

Returns market volumes for the past 24 hours
Parameters
no params
Response
Curl Example:
curl -X GET https://api.unnamed.exchange/v1/Public/Volume
NodeJs Example:
TODO
C# Example:
TODO

Ticker

Returns market ticker information
Parameters
Market (optional)
All Markets: no params
Base Markets: ?market=BTC
Single Market: ?market=LTC_BTC
Group Markets: ?market=LTC_BTC-BTC_USDT
Response
Curl Example:
All Markets curl -X GET https://api.unnamed.exchange/v1/Public/Ticker
Base Market curl -X GET https://api.unnamed.exchange/v1/Public/Ticker?market=BTC
Single Market curl -X GET https://api.unnamed.exchange/v1/Public/Ticker?market=LTC_BTC
Multiple Markets curl -X GET https://api.unnamed.exchange/v1/Public/Ticker?market=LTC_BTC-XMR_BTC-DOGE_BTC
NodeJs Example:
TODO
C# Example:
TODO

OrderBook

Returns market orderbook information
Parameters
Market (optional)
All Markets: no params
Base Markets: ?market=BTC
Single Market: ?market=LTC_BTC
Group Markets: ?market=LTC_BTC-BTC_USDT
Depth (optional, default: 50)
Example: ?depth=200
Response
Curl Example:
All Markets curl -X GET https://api.unnamed.exchange/v1/Public/OrderBook
Base Market curl -X GET https://api.unnamed.exchange/v1/Public/OrderBook?market=BTC
Single Market curl -X GET https://api.unnamed.exchange/v1/Public/OrderBook?market=LTC_BTC
Multiple Markets curl -X GET https://api.unnamed.exchange/v1/Public/OrderBook?market=LTC_BTC-XMR_BTC-DOGE_BTC
Limited Depth curl -X GET https://api.unnamed.exchange/v1/Public/OrderBook?market=LTC_BTC&depth=10
NodeJs Example:
TODO
C# Example:
TODO

Trade History

Returns market trading history
Parameters
Market (optional)
All Markets: no params
Base Markets: ?market=BTC
Single Market: ?market=LTC_BTC
Group Markets: ?market=LTC_BTC-BTC_USDT
Depth (optional, default: 50)
Example: ?depth=200
BeginTime (optional, default: -24hr)
Example: ?beginTime=1558158527
EndTime (optional, default: now)
Example: ?endTime=1558158527
Response
Curl Example:
All Markets curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory
Base Market curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory?market=BTC
Single Market curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory?market=LTC_BTC
Multiple Markets curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory?market=LTC_BTC-XMR_BTC-DOGE_BTC
Limited Depth curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory?market=LTC_BTC&depth=10
Time Range curl -X GET https://api.unnamed.exchange/v1/Public/TradeHistory?market=LTC_BTC&beginTime=1458158527&endTime=1558158527
NodeJs Example:
TODO
C# Example:
TODO

Chart Points

Returns chart points for the selected market
Parameters
Market (required)
Example: ?market=LTC_BTC
Minutes (optional, default: 1)
Example: ?minutes=30
BeginTime (optional, default: -24hr)
Example: ?beginTime=1558158527
EndTime (optional, default: now)
Example: ?endTime=1558158527
Response
Curl Example:
Market curl -X GET https://api.unnamed.exchange/v1/Public/Chart?market=LTC_BTC
Candle Size curl -X GET https://api.unnamed.exchange/v1/Public/Chart?market=LTC_BTC&minutes=30
Time Range curl -X GET https://api.unnamed.exchange/v1/Public/Chart?market=LTC_BTC&beginTime=1458158527&endTime=1558158527
NodeJs Example:
TODO
C# Example:
TODO

Private HTTP API Methods

The private HTTP API allows read / write access to your private account.

All calls to the trading API are sent via HTTPS using POST parameters. All responses from the trading API are in JSON format. Required Headers: ApiKey: Your "API key" Signature: The POST data signed by your "API Secret" Additionally, all queries must include a "nonce" POST parameter. The nonce parameter is an integer which must always be greater than the previous nonce used and does not need to increase by one. Using the epoch in milliseconds is an easy choice here.

In the event of an error, the response will always be of the following format:

{ "error": "error message" }
Curl Example:
Create new nonce, Set the nonce to the current unix timestamp in milliseconds date +%s00000
Create the signature using the parameters required for the endpoint and the nonce value from above echo -n "value1=123&value2=abc&nonce=154264078495400" | \
openssl sha512 -hmac "YOUR_API_SECRET"
Post message to server curl -X POST \
-d "value1=123&value2=abc&nonce=154264078495400" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5....signature from above..cf44b290ce" \
https://api.unnamed.exchange/v1/Endpoint
NodeJs Example:
TODO
C# Example:
TODO

Balance

Returns balance
Parameters
Name Type Required Description
Symbol Text No The coin symbol for single balance
Response
Curl Example:
All Balances curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Balance
Single Balance curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Balance
NodeJs Example:
TODO
C# Example:
TODO

Balance Full

Returns balance
Parameters
Name Type Required Description
Symbol string No The coin symbol for single balance
Response
Curl Example:
All Balances curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/BalanceFull
Single Balance curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/BalanceFull
NodeJs Example:
TODO
C# Example:
TODO

Order Submit

Submit a trade/order
Parameters
Name Type Required Description
Market string Yes Market identifier
OrderType enum Yes The type of order, Limit, StopLimit or Market
Type enum Yes The trade type, Buy or Sell
Amount decimal Yes The amount of coins to trade
Price decimal Yes* The price of the coins to trade *required for OrderType: Limit, StopLimit
Stop decimal Yes* The stop limit price if order type is StopLimit *required for OrderType: StopLimit
Response
Curl Example:
Limit curl -X POST \
-d "market=LTC_BTC&orderType=Limit&type=Buy&amount=100.00000000&price=0.00230000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderSubmit
Stop-Limit curl -X POST \
-d "market=LTC_BTC&orderType=StopLimit&type=Buy&amount=100.00000000&price=0.00230000&stop=0.00240000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderSubmit
Market curl -X POST \
-d "market=LTC_BTC&orderType=Market&type=Sell&amount=100.00000000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderSubmit
NodeJs Example:
TODO
C# Example:
TODO

Order Cancel

Cancel an open Limit/StopLimit order
Parameters
Name Type Required Description
CancelType enum Yes The type of cancel operation, Trade, TradePair and All
OrderType enum Yes The type of order, Limit or StopLimit
OrderId long Yes* The order identifier *required for CancelType: Trade
Market string Yes* Market identifier *required for CancelType: Market
Response
Curl Example:
Cancel single order curl -X POST \
-d "cancelType=Trade&orderType=Limit&orderId=123456&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderCancel
Cancel market orders curl -X POST \
-d "market=LTC_BTC&cancelType=TradePair&orderType=Limit&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderCancel
Cancel all orders curl -X POST \
-d "cancelType=All&orderType=Limit&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderCancel
NodeJs Example:
TODO
C# Example:
TODO

Orders

Get a list of open orders
Parameters
Name Type Required Description
Market string No Market identifier
Response
Curl Example:
All Orders curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Orders
Market Orders curl -X POST \
-d "market=LTC_BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Orders
NodeJs Example:
TODO
C# Example:
TODO

Order History

Get a list of historic orders
Parameters
Name Type Required Description
Market string No Market identifier
Count int No The amount of recordes to return (default: 50)
Response
Curl Example:
All Markets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderHistory
Single Market curl -X POST \
-d "market=LTC_BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderHistory
More History curl -X POST \
-d "count=1000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/OrderHistory
NodeJs Example:
TODO
C# Example:
TODO

Trade History

Get a list of completed trades
Parameters
Name Type Required Description
Market string No Market identifier
Count int No The amount of recordes to return (default: 50)
Response
Curl Example:
All Markets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/TradeHistory
Single Market curl -X POST \
-d "market=LTC_BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/TradeHistory
More History curl -X POST \
-d "count=1000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/TradeHistory
NodeJs Example:
TODO
C# Example:
TODO

Deposits

Get a list of deposits to your site addresses
Parameters
Name Type Required Description
Symbol string No Asset identifier
Count int No The amount of recordes to return (default: 50)
Response
Curl Example:
All Assets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Deposits
Single Asset curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Deposits
More History curl -X POST \
-d "count=1000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Deposits
NodeJs Example:
TODO
C# Example:
TODO

Generate Address

Generate an new deposit address for a specific asset
Parameters
Name Type Required Description
Symbol string Yes Asset identifier
Response
Curl Example:
curl -X POST \
-d "symbol=LTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/GenerateAddress
NodeJs Example:
TODO
C# Example:
TODO

Addresses

Return one or all deposit addresses
Parameters
Name Type Required Description
Symbol string No Asset identifier
Response
Curl Example:
All Assets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Addresses
Single Asset curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Addresses
NodeJs Example:
TODO
C# Example:
TODO

AddressBook

Return one or all addressbook entires
Parameters
Name Type Required Description
Symbol string No Asset identifier
Response
Curl Example:
All Assets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/AddressBook
Single Asset curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/AddressBook
NodeJs Example:
TODO
C# Example:
TODO

Withdraw Submit

Submit a new withdrawal request
Parameters
Name Type Required Description
Symbol string Yes Asset identifier
Amount decimal Yes Asset identifier
Address string Yes Withdrawal address
Base Address string No Withdrawal base address (if required)
AddressBookId int No AddressBook identifier if withdrawing to an AddressBook entry
Response
Curl Example:
Address curl -X POST \
-d "symbol=LTC&amount=1&address=ltc1qqpze6ywq5dk7qjgqynvmnj6ty72frka7d23wdc&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/WithdrawSubmit
AddressBook curl -X POST \
-d "symbol=LTC&amount=1&addressBookId=8&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/WithdrawSubmit
NodeJs Example:
TODO
C# Example:
TODO

Withdrawals

Return pending and historc withdrawals
Parameters
Name Type Required Description
Symbol string No Asset identifier
Count int No The amount of recordes to return (default: 50)
Response
Curl Example:
All Assets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Withdrawals
Single Asset curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Withdrawals
More History curl -X POST \
-d "count=1000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Withdrawals
NodeJs Example:
TODO
C# Example:
TODO

Transfer Submit

Submit a new user-to-user transfer request
Parameters
Name Type Required Description
Symbol string Yes Asset identifier
Amount decimal Yes Asset identifier
UserName string Yes The username of the person to transfer to
Memo string No A message to attach to this transfer
Response
Curl Example:
curl -X POST \
-d "symbol=LTC&amount=1&username=Bob&memo=HelloWorld&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/TransferSubmit
NodeJs Example:
TODO
C# Example:
TODO

Transfers

Return a list of historic transfers
Parameters
Name Type Required Description
Symbol string No Asset identifier
Count int No The amount of recordes to return (default: 50)
Response
Curl Example:
All Assets curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Transfers
Single Asset curl -X POST \
-d "symbol=BTC&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Transfers
More History curl -X POST \
-d "count=1000&nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/Trade/Transfers
NodeJs Example:
TODO
C# Example:
TODO

Websocket

Websocket API to provide real-time updates and streaming data sets

Introduction Microsoft Signalr is used for the websocket communtication, Microsoft provides libraries for most common runtime languages
The examples provided below are all in C# targeting the .NET Framework 4.7.X

Authentication Connecting to the websocket API rerquires an authentication bearer token to be included in the header when connecting
To genereate this authentication token you must make a signend call to the GetAuthToken http endpoint

Response

Connection Connecting to the websocket API requires an authenticated bearer token to be included in the header when connecting
To genereate this access token you must make a signend call to the GetAuthToken http endpoint

C# Example
using Microsoft.AspNet.SignalR.Client;
using Microsoft.AspNet.SignalR.Client.Transports;

// Create an new HubConnection
var hubConnection = new HubConnection("https://api.unnamed.exchange");

// Add your bearer authentcation token to the HubConnection headers
hubConnection.Headers.Add("Authorization", $"Bearer {YOUR_ACCESS_TOKEN}");

// Create a proxy to the ApiHub
var hubProxy = hubConnection.CreateHubProxy("ApiHub");

// Start the HubConnection using WebSocketTransport
await hubConnection.Start(new WebSocketTransport());
C# Full Example
using System;
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR.Client;
using Microsoft.AspNet.SignalR.Client.Transports;
using Newtonsoft.Json;

// Connect var hubConnection = new HubConnection("https://api.unnamed.exchange"); hubConnection.Headers.Add("Authorization", $"Bearer {YOUR_ACCESS_TOKEN}"); var hubProxy = hubConnection.CreateHubProxy("ApiHub"); await hubConnection.Start(new WebSocketTransport()); // Setup Handlers hubProxy.On("OnTickerChange", (e) => Console.WriteLine($"OnTickerChange: {e}")); hubProxy.On("OnOrderBookChange", (e) => Console.WriteLine($"OnOrderBookChange: {e}")); hubProxy.On("OnMarketHistoryChange", (e) => Console.WriteLine($"OnMarketHistoryChange: {e}")); hubProxy.On("OnOrderChange", (e) => Console.WriteLine($"OnOrderChange: {e}")); hubProxy.On("OnStopLimitChange", (e) => Console.WriteLine($"OnStopLimitChange: {e}")); hubProxy.On("OnTradeHistoryChange", (e) => Console.WriteLine($"OnTradeHistoryChange: {e}")); hubProxy.On("OnBalanceChange", (e) => Console.WriteLine($"OnBalanceChange: {e}")); hubProxy.On("OnError", (e) => Console.WriteLine($"OnError: {e}")); // Subscribe to 'allmarkets' await hubProxy.Invoke<bool>("SubscribeTickers", "allmarkets", true); await hubProxy.Invoke<bool>("SubscribeMarkets", "allmarkets", true);
Curl Example:
curl -X POST \
-d "nonce=154264078495300" \
-H "ApiKey: $YOUR_API_KEY" \
-H "Signature: 0b2e84e5.....cf44b290ce" \
https://api.unnamed.exchange/v1/GetAuthToken
NodeJs Example:
TODO
C# Example:
TODO

Subscribe

Methods to subscribe to market data streams
Method Name
Parameters
Name Type Required Description
Markets string Yes Market(s) to subscribe too, 'allmarkets' will subscribe to everything
Replace bool Yes If this subscription should add to or replace existing markets
C# Example
// Subscribe to all markets
bool result = await hubProxy.Invoke<bool>("SubscribeMarkets", "allmarkets", true);

// Subscribe to a single market
bool result = await hubProxy.Invoke<bool>("SubscribeMarkets", "LTC_BTC", false);

// Subscribe to multiple markets (comma seperated list)
bool result = await hubProxy.Invoke<bool>("SubscribeMarkets", "LTC_BTC,XMR_BTC,LINK_BTC", false);

Unsubscribe

Methods to unsubscribe from market data streams
Method Name
C# Example
// Unsubscribe from all markets
bool result = await hubProxy.Invoke<bool>("UnsubscribeMarkets");

// Unsubscribe from all tickers
bool result = await hubProxy.Invoke<bool>("UnsubscribeTickers");

// Unsubscribe from everything
bool result = await hubProxy.Invoke<bool>("UnsubscribeAll");

Tickers

Real-time updates on market ticker price changes
Method Name
C# Example
hubProxy.On("OnTickerChange", (e) => Console.WriteLine($"OnTickerChange: {e}"));
Response
NOTE: You will only receive updates for markets you have subscribed to using SubscribeTickers

OrderBook

Real-time updates on market orderbook changes
Method Name
C# Example
hubProxy.On("OnOrderBookChange", (e) => Console.WriteLine($"OnOrderBookChange: {e}"));
Response
Type
Name Value
0 Buy
1 Sell
Action
Name Value
0 Add
1 Remove
2 Update
3 Cancel
NOTE: You will only receive updates for markets you have subscribed to using SubscribeMarkets

MarketHistory

Real-time updates on market history changes
Method Name
C# Example
hubProxy.On("OnMarketHistoryChange", (e) => Console.WriteLine($"OnMarketHistoryChange: {e}"));
Response
Type
Name Value
0 Buy
1 Sell
NOTE: You will only receive updates for markets you have subscribed to using SubscribeMarkets

Balance

Real-time updates on personal balance changes
Method Name
C# Example
hubProxy.On("OnBalanceChange", (e) => Console.WriteLine($"OnBalanceChange: {e}"));
Response
NOTE: You are auto-subscribed to personal updates once connected

Orders

Real-time updates on personal order changes
Method Name
C# Example
hubProxy.On("OnOrderChange", (e) => Console.WriteLine($"OnOrderChange: {e}"));
Response
Type
Name Value
0 Buy
1 Sell
Action
Name Value
0 Add
1 Remove
2 Update
3 Cancel
NOTE: You are auto-subscribed to personal updates once connected

StopLimit

Real-time updates on personal stop-limit order changes
Method Name
C# Example
hubProxy.On("OnStopLimitChange", (e) => Console.WriteLine($"OnStopLimitChange: {e}"));
Response
Type
Name Value
0 Buy
1 Sell
Action
Name Value
0 Add
1 Remove
2 Update
3 Cancel
NOTE: You are auto-subscribed to personal updates once connected

TradeHistory

Real-time updates on personal trade history changes
Method Name
C# Example
hubProxy.On("OnTradeHistoryChange", (e) => Console.WriteLine($"OnTradeHistoryChange: {e}"));
Response
Type
Name Value
0 Buy
1 Sell
NOTE: You are auto-subscribed to personal updates once connected