/Bybit

Bybit borsasında, alım-satım yapmak veya piyasa verilerini çekmek için geliştirilen kullanımı kolay ve pratik bir .NET 7 - C# kütüphanesidir.

Primary LanguageC#MIT LicenseMIT

Bybit

Bybit C# API

Bybit borsasında, alım-satım yapmak veya piyasa verilerini çekmek için geliştirilen kullanımı kolay ve pratik bir .NET 7 - C# kütüphanesidir.

Bu kütüphane sadece Bybit borsasını destekler. Bybit'in herkese açık API dokümanı referans alınarak C# programlama dili ile Bybit için özel uygulama geliştirmek isteyenler için geliştirilmiştir.

Lisans:

MIT License

Özellikleri

  • NuGet aracılığıyla yükleyebilme. (BybitApi)
  • .NET 7 desteği. (Linux/MacOS uyumluluğu)
  • RestAPI, Bybit resmi dokümanının büyük çoğunluğunu destekler.
    • Aktif olarak yeni özellikler eklenmeye devam edilecek.
  • Genel ve özel API uç noktaları.
    • Özel API uç noktaları için Api Key ve Secret Key gerekmektedir.
  • RestAPI, birden fazla kullanıcıyı destekler. Her bir kullanıcı için API bilgilerini parametre olarak gönderebilirsiniz.
  • Hataların daha kolay çözülebilmesi için Binance TR sunucularının geriye döndürdüğü hata kodları ve hata mesajları kullanılır.

Başlangıç

Özel API uç noktalarını kullanabilmek için Bybit üzerinden hesap oluşturmanız gerekmektedir. Eğer hesabınız yok ise buraya tıklayarak referansım üzerinden kaydolabilirsiniz.

Halka açık piyasa verilerine erişmek için Bybit hesabı gerekli değildir!

Kurulum

Bu kütüphane NuGet'te mevcuttur, indirmek için çekinmeyin. (https://www.nuget.org/packages/BybitApi/1.0.0)

NuGet PM

Install-Package BybitApi -Version 1.0.0

dotnet cli

dotnet add package BybitApi --version 1.0.0

Örnek Kullanım (Halka Açık İşlemler)

Bağımlılık Enjeksiyonu (Dependency Injection):

using Bybit.Business.Abstract;
using Bybit.Business.Concrete;

services.AddSingleton<IBybitService, BybitManager>();

Constructor'da tanımalama:

using Bybit.Business.Abstract;

private readonly IBybitService _bybitService;
public Test(IBybitService bybitService)
{
   _bybitService = bybitService;
}

Bybit sunucuyu zaman bilgisini alın:

var serverTime = await _bybitService.Public.GetServerTimeAsync(stoppingToken);
if (!serverTime.Success)
{
    Console.WriteLine(serverTime.Message);
}

Borsa tarafından listelenen tüm sembolleri alın:

var model = new InstrumentsInfoDto
{
    Category = Models.Enums.CategoryEnum.SPOT,
};
var instrumentsResult = await _bybitService.Market.GetInstrumentsInfoAsync(model, stoppingToken);
var instrumentsInfo = instrumentsResult.Data;

Yukarıdaki örnekler RestAPI'nin halka açık fonksiyonlarının kullanımına örnek olarak verilmiştir. Daha fazlası için kütüphaneyi indirip kullanabilirsiniz.

Örnek Kullanım (Özel İşlemler)

Bağımlılık Enjeksiyonu (Dependency Injection):

using Bybit.Business.Abstract;
using Bybit.Business.Concrete;

services.AddSingleton<IBybitService, BybitManager>();

Constructor'da tanımalama:

using Bybit.Business.Abstract;

private readonly IBybitService _bybitService;
public Test(IBybitService bybitService)
{
   _bybitService = bybitService;
}

Options tanımlama:

var options = new BybitOptions
{
   ApiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
   ApiSecret = "xxxxxxxxxxxxxxxxxxxxxxxx"
};

1. Limit tipinde yeni bir sipariş gönderin: Limit fiyatından yeni bir alış siparişi göndermek için aşağıdaki örneği kullanabilirsiniz.

var options = new BybitOptions { ApiKey = _apiKey, SecretKey = _secretKey };
var model = new PlaceOrderDto
{
    Category = Models.Enums.CategoryEnum.SPOT,
    Side = Models.Enums.OrderSideEnum.BUY,
    Symbol = "BTCUSDT",
    Quantity = "0.0001",
    Price = "25000",
};
var placeOrderResult = await _bybitService.Trade.PlaceOrderAsync(options, model, stoppingToken).ConfigureAwait(false);
if (placeOrderResult.Success)
{
    // ...
}

Bağış Yap

Kütüphaneyi kullanıp beğendiyseniz destek olmak amaçlı bağışta bulunabilirsiniz. Aşağıda Bitcoin ve Ethereum için cüzdan adreslerim yer almaktadır.

Tether (USDT) - TRC20: TC3ruh9qWbwAnCHGEkschnmcYUNxGumHJS

Bitcoin (BTC) - ERC20: 0x4a656a72fada0ccdef737ad8cc2e39686af5efbe

Ethereum - ETH: 0x4a656a72fada0ccdef737ad8cc2e39686af5efbe