static void CoinbaseRest() { var keys = new ExchangeApi.Coinbase.Keys() { Key = "MY_KEY", Secret = "MY_SECRET", Passphrase = "MY_PASSPHRASE", }; using (var client = new ExchangeApi.Coinbase.REST.RestClient(ExchangeApi.Coinbase.Instance.Prod.REST, keys)) { client.SendRequest(new ExchangeApi.Coinbase.REST.CancelAllRequest()).Wait(); string orderId = client.SendRequest(new ExchangeApi.Coinbase.REST.NewOrderRequest() { ClientOrderId = Guid.NewGuid().ToString(), Side = ExchangeApi.Coinbase.Side.Sell, ProductId = "BTC-EUR", Price = 1000m, Size = 0.01m, TimeInForce = ExchangeApi.Coinbase.REST.TimeInForce.GTT, CancelAfter = ExchangeApi.Coinbase.REST.CancelAfter.Min, PostOnly = true, }).Result.OrderId; client.SendRequest(new ExchangeApi.Coinbase.REST.CancelOrderRequest() { OrderId = orderId, }).Wait(); client.SendRequest(new ExchangeApi.Coinbase.REST.CancelOrderRequest() { OrderId = orderId, }).Wait(); } }
static void CoinbaseClient() { var keys = new ExchangeApi.Coinbase.Keys() { Key = "MY_KEY", Secret = "MY_SECRET", Passphrase = "MY_PASSPHRASE", }; var cfg = new ExchangeApi.Coinbase.Config() { Endpoint = ExchangeApi.Coinbase.Instance.Prod, Products = new List <string>() { "BTC-USD" }, Keys = keys, }; using (var client = new ExchangeApi.Coinbase.Client(cfg)) { client.OnOrderBook += (string product, TimestampedMsg <ExchangeApi.Coinbase.OrderBookDelta> msg) => { if (msg.Value.Bids.Count + msg.Value.Asks.Count > 10) { _log.Info("OnOrderBook({0}, IsLast={1}): {2} bid(s), {3} ask(s)", product, !client.Scheduler.HasReady(), msg.Value.Bids.Count, msg.Value.Asks.Count); } else { _log.Info("OnOrderBook({0}, IsLast={1}): {2}", product, !client.Scheduler.HasReady(), msg.Value); } }; client.OnTrade += (string product, TimestampedMsg <ExchangeApi.Coinbase.Trade> msg) => { _log.Info("OnTrade({0}, IsLast={1}): {2}", product, !client.Scheduler.HasReady(), msg.Value); }; Action <TimestampedMsg <ExchangeApi.Coinbase.OrderUpdate> > OnOrder = msg => { _log.Error("OnOrder(IsLast={0}): {1}", !client.Scheduler.HasReady(), msg); }; client.Connect(); Thread.Sleep(5000); client.Send(new ExchangeApi.Coinbase.NewOrder() { Price = 584.33m, Size = 0.01m, ProductId = "BTC-USD", Side = ExchangeApi.Coinbase.Side.Sell, }, OnOrder); while (true) { Thread.Sleep(1000); } } Thread.Sleep(2000); }