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.
MIT License
- 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.
Ö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!
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
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.
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)
{
// ...
}
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