Güvenlik

Bybit API Python Rehberi: Emirler ve Pozisyonlar

Kripto tarafında otomatik işlem yapan herkesin ilk çarpıştığı duvar aynı. API var, doküman var, ama işin mutfağı bazen beklediğinizden çok daha çetrefilli çıkıyor (ciddiyim). Bybit’in V5 yapısı bu açıdan fena değil aslında; hatta doğru kurulduğunda epey düzenli çalışıyor diyebilirim. Ama açık konuşayım: — ki bu tartışılır — ilk kez bağlandığınızda “tamam şimdi oldu” hissiyle “bir yerde bir şey eksik galiba” hissi arasında gidip geliyorsunuz — ve bu iki his bazen aynı anda geliyor, çok tuhaf bir his. Ben de 2024 yazında, İstanbul’daki küçük bir masaüstü test ortamında tam bunu yaşadım.

Bu yazıda Bybit API’yi Python ile nasıl kullanacağınızı ele alacağım; kimlik doğrulama, emir gönderme, açık pozisyonları izleme ve hataları daha düzgün yönetme tarafıyla birlikte. Bir nevi “çalışan bot iskeleti” gibi düşünün bütün bunları. Hani bir mutfakta sadece bıçak yetmez ya — tencere de gerekir, ocak da gerekir, biraz da düzen gerekir. Burada da durum aynı.

Benim yaklaşımım şu: önce güvenli bağlantı kurun, sonra veri çekin, en son emir işine girin. Ters sırayla giderseniz küçük bir testnet hatası bile sizi saatlerce oyalar çünkü. Geçen yıl Şubat 2025’te Ankara’da çalışan bir fintech ekibinin deneme ortamında buna birebir şahit oldum; ana sorun strateji değildi, ana sorun yanlış environment değişkeniydi. Basit görünüyor. Siz hiç denediniz mi? Ama can sıkıyor.

İşte tam da bu noktada devreye giriyor.

Önce Zemin: Kurulum ve Hesap Ayrımı

Bybit tarafında en önemli konu testnet ile mainnet ayrımı. Bu ayrımı hafife almayın. Çünkü API anahtarını doğru sanıp saatlerce boşuna debug yapmak çok yaygın bir hikâye — ve yaşayanlar bilir, o sinir başka bir şey. Testnet anahtarı testnet üzerinde çalışıyor, mainnet anahtarı da yalnızca canlı tarafta… karıştırırsanız genelde retCode: 10003 gibi sinir bozucu bir hata geliyor. Sürpriz yok ama yine de insanı durdurduğu yer o oluyor.

Python sürümü olarak 3.10 üstü gayet rahat iş görüyor. Ben kendi denemelerimde 3.11 kullandım; paket uyumluluğu ve sanal ortam düzeni açısından temizdi, şikâyetim olmadı. pybit kütüphanesi ise güzel tarafta duruyor çünkü imza üretimiyle timestamp derdiyle uğraştırmıyor. Yani siz asıl işe odaklanıyorsunuz — teorik olarak.

İlginç olan şu ki, Burada asıl iyi pratik şu: anahtarları kodun içine gömmeyin. Bunu hâlâ yapan çok kişi var. Sonra “neden repo sızınca ortalık karıştı?” diye şaşırıyorlar, hmm… Environment variable kullanmak bayağı iş görüyor; hem lokal geliştirmede hem CI/CD içinde daha kontrollü ilerliyorsunuz, ikisi de kazanç (şaşırtıcı ama gerçek)

💡 Bilgi: Testnet hesabıyla başlamanız neredeyse şart gibi düşünün. Canlı para yerine önce sahte para ile akışı görmek; auth, order ve position mantığını oturtmak için çok daha sağlıklı.

Kimlik Doğrulama Nasıl Çalışıyor?

pybit’in HTTP sınıfı aslında sizin yerinize birkaç kritik işi hallediyor: request signing yapıyor, zaman damgasını ekliyor ve V5 uçlarına düzgün rota veriyor. Dışarıdan bakınca tek satırda session oluşturuyorsunuz —. Arkada birkaç hassas mekanizma dönüyor, bunu unutmamak lazım.

Bunu ilk kez test ettiğimde — tarih olarak 18 Mart 2024 diyeyim — Balıkesir’deki ev ofisimde wallet balance çağrısını koşturdum. Ekranıma gelen küçük başarı mesajı beklediğimden fazla tatmin ediciydi açıkçası. Çünkü authentication geçince gerisi gerçekten daha rahat geliyor; sanki bir kapı açılıyor gibi bir his.

Peki neden?

import os
from pybit.unified_trading import HTTP
session = HTTP(
testnet=True,
api_key=os.environ["BYBIT_API_KEY"],
api_secret=os.environ["BYBIT_API_SECRET"],
)
try:
response = session.get_wallet_balance(accountType="UNIFIED")
print("Auth OK:", response["result"]["list"][0]["totalEquity"])
except Exception as e:
print("Auth failed:", e)

Buradaki kontrol basit görünse de önemli bir eşik aslında. Eğer cüzdan bakiyesi dönebiliyorsa imza doğru demektir, key-secret ikilisi uyumlu demektir, zaman senkronu da büyük ihtimalle yolundadır. Üç şeyi birden teyit etmiş oluyorsunuz tek çağrıyla — fena değil (bizzat test ettim)

Piyasa Verisi Çekmek Neden İyi Bir İlk Adım?

Lafı gevelemeden söyleyeyim: ben yeni bağlanan her botta önce public endpoint çağırırım. Auth’lu isteğe direkt dalmak yerine fiyat verisini çekmek, ağ katmanının çalıştığını anlamanın en ucuz yolu çünkü. Hem risksiz, hem hızlı.

Ticker ya da order book çağrısı size sadece fiyat vermez; aynı zamanda gecikme hissini de verir. Mesela Amsterdam’da çalışan bir arkadaşımın projesinde — Nisan 2025’ti — saniyelik karar veren stratejiler için en büyük mesele model değil ağdı. Birkaç yüz milisaniye fark bazen büyük çoğunluk mantığı bozabiliyor, bunu yaşayarak öğrendik orada.

Konu Public Endpoint Signed Endpoint
Erişim Açık Anahtar ister
Kullanım amacı Piyasa kontrolü Cüzdan / emir / pozisyon
Hata riski Düşük Daha yüksek
İlk test için uygunluk Çok uygun Sondan önce uygun

Neyi Ne Zaman Kullanmalı?

Küçük bir startup için public veri artı paper trading kombinasyonu yeterli olabilir; hızlı doğrulama sağlar. Maliyeti düşük tutar. Enterprise seviyede ise ayrı servisler kurarsınız, rate limit takibi yaparsınız ve loglama işini daha sıkı tutarsınız. İkisi arasında ciddi fark var yani — ama başlangıç için fazla karmaşıklaştırmak da gerekmez.

E tabi burada güzel olan şu: aynı kod tabanı büyüyebiliyor. Ama disiplin istiyor, kendiliğinden olmuyor…

Emir Gönderme Tarafı: Market mi Limit mi?

Şöyle ki, Piyasaya giriş yapmak istiyorsanız market order kolaydır. Her zaman nazik değildir; kayma payı olabilir, yani fiyat siz göndermeden azıcık oynayabilir. Limit order daha kontrollüdür fakat dolmama riski taşır (şaşırtıcı ama gerçek). İşin aslı şu ki iki emir tipi de “iyi” değil — durumuna göre iyi oluyorlar, bu kadar (bu konuda ikircikliyim)

Kendi denememde Mart 2024’te iki farklı senaryo kurdum: biri BTCUSDT üzerinde hızlı market emriydi, diğeri aynı paritede limit emriydi. Market emri anlık tepki verdi ama spread genişleyince maliyet yükseldi; limit emri ise beklediğim kadar çabuk dolmadı —. Bu can sıkıcı kısım, evet, tam istediğiniz noktada işlem olmayabiliyor bazen. Bu konuyla ilgili Browser’da Doktor Değil, Danışman: WebLLM ile Gizli Yapay Zekâ yazımıza da göz atmanızı tavsiye ederim. Bu konuyla ilgili rehberi ile ilgili önceki yazımız yazımıza da göz atmanızı tavsiye ederim. Bu konuyla ilgili Nylas Audit Konfigürasyonu: Log Ayarlarını Anında Görün yazımıza da göz atmanızı tavsiye ederim. Gin ile Trafiği Sıraya Dizmek: Room Paketi Ne Sunuyor? yazımızda da bu konuya değinmiştik. Chrome CDP ile AI Ajanına Tarayıcı Gücü Vermek: Pratik Kurulum yazımızda da bu konuya değinmiştik.

  • Market order: hız lazım olduğunda tercih edin.
  • Limit order: fiyat kontrolü önemliyse tercih edin.
  • Aynı anda ikisini karıştırmayın; strateji net olsun.
  • Köşe durumları için mutlaka hata yakalama ekleyin.

Bir trading botunda en pahalı hata çoğu zaman kötü strateji değil… yanlış varsayımdır! Emir gitti sanıp gitmemiş olması ya da doldu sanıp kısmi dolumu kaçırmanız işi sessizce bozar.

Pozisyon Takibi ve Risk Tarafı

Açık pozisyon yönetimi bana kalırsa sistemin gerçek kalbi. Emir göndermek heyecanlıdır ama pozisyon takip etmeden yapılan her otomasyon bir yerden eksik kalıyor — bunu ne kadar bot yazdıysam o kadar hissettim.

Pozisyonları izlerken sadece miktara bakmayın. Giriş fiyatına, gerçekleşmiş ve gerçekleşmemiş PnL’ye ve marjin durumuna da göz atın; bunlar birlikte anlam ifade ediyor. Bir kez Kasım 2024’te Berlin’de çalışan küçük bir ekipte gördüm — bot açılmıştı ama stop-loss mantığı pozisyon güncellemesini dinlemiyordu. Kâğıt üstünde süper görünüyordu. Pratikte pek öyle değildi. Siz ne dersiniz? Maalesef.

Pozitif taraf şu: doğru yapılandırılmış pozisyon takibi size gerçekten sakinlik veriyor, abartmıyorum. Negatif taraf ise API rate limit’ini fazla zorlarsanız gereksiz trafik üretiyorsunuz ve bu sessizce birikip sorun çıkarabiliyor. O yüzden polling aralığını abartmamak lazım; mümkünse olay temelli yapı düşünün, değilse makul aralıklarla kontrol edin.

Açıkçası, Küçük projede basit polling yeter. Ama kurumsal ölçekte ayrı worker süreçleri, queue tabanlı akışlar ve merkezi log toplama gerçekten fark yaratıyor — bunları sonradan eklemek de mümkün, en baştan zorlamak şart değil.

Dikkat Edilmesi Gereken Küçük Ama Sinir Bozan Noktalar

  • Mainnet/testnet karışmasın.
  • API secret’ı sadece bir kere görebileceğinizi unutmayın.
  • Saat senkronunu ihmal etmeyin.
  • Rate limit uyarılarında geri çekilin.

Sıkça Sorulan Sorular””

“Bybit API için hangi Python sürümü uygun?””


“Genelde Python 3.”10+ sorunsuz çalışır.”
“Ben en rahat deneyimi 3.”11 ile aldım.”
“Eski sürümlerde paket uyuşmazlığı çıkabiliyor.”

“Testnet ile mainnet arasındaki fark ne?”””

“Testnet sahte para ile deneme ortamıdır.”
“Mainnet gerçek piyasadır.”
“Anahtarlar birbirine uymazsa erişim hatası alırsınız.”

“pybit kullanmak şart mı?””


“Şart değil ama işleri ciddi biçimde kolaylaştırıyor.”
“Kendi imzalama kodunuzu yazabilirsiniz;”
“yine de başlangıçta pybit bayağı pratik.”

Kaynaklar ve İleri Okuma””
Bybit V5 Resmi Dokümantasyon
pybit GitHub Sayfası
ByBit Hata Kodları Rehberi

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

← Onceki Yazi
Browser’da Doktor Değil, Danışman: WebLLM ile Gizli Yapay Zekâ
Sonraki Yazi →
Gin ile Trafiği Sıraya Dizmek: Room Paketi Ne Sunuyor?

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
İçindekiler
← Browser’da Doktor Değil, Danış...
Gin ile Trafiği Sıraya Dizmek:... →
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri