Bir borsa hesabını dışarıdan bir uygulamaya bağlamak, tek bir ekranda birkaç saniye süren bir işlemdir. Bu hızın yarattığı yanılgı şudur: karar da o kadar küçük sanılır. Oysa o ekranda verilen izinler, uygulamanın hesabınızda ne yapabileceğini kalıcı olarak belirler.
Bu yazı, bir API anahtarı üretirken karşınıza çıkan izin kutucuklarının ne anlama geldiğini ve Finbula’ya bir bağlantı eklerken hangilerine ihtiyaç olduğunu anlatıyor.
Üç izin, üç ayrı risk
Çoğu borsa, API anahtarı oluştururken izinleri en az üç gruba ayırır:
Okuma (read-only). Bakiye, açık emirler, işlem geçmişi ve pozisyonlar okunabilir. Bu izinle hesapta hiçbir şey değiştirilemez. Bir portföyü izlemek, dağılımı görmek ve analiz üretmek için gereken tek izin budur.
İşlem (trade). Emir açılabilir ve iptal edilebilir. Fonlar hesaptan çıkmaz ama hesabın içinde yer değiştirir: varlık satılabilir, başka bir varlık alınabilir. Otomatik bir strateji çalıştırmak istiyorsanız gereken izin budur.
Para çekme (withdrawal). Fonlar hesabın dışına, başka bir adrese aktarılabilir. Bu izin, üçü arasında geri dönüşü olmayan tek izindir.
Bu üçü arasındaki fark teknik değil, sonuçsaldır. Okuma izniyle sızdırılan bir anahtar mahremiyet sorunu yaratır; işlem izniyle sızdırılan bir anahtar zarar yaratabilir; para çekme izniyle sızdırılan bir anahtar varlığın kendisini kaybettirir.
Finbula bağlantılarında para çekme izni hiçbir zaman talep edilmez. Bu, hiçbir modda değişmeyen bir sınırdır: izlemede de, botlarda da.
Önce şu soruyu cevaplayın: izlemek mi, çalıştırmak mı?
Bağlantı kurmadan önce verilecek asıl karar, izin kutucuklarından önce gelir.
Amacınız portföyünüzü tek panelde görmek, dağılımı ve kâr/zararı takip etmek, piyasa ve analiz ekranlarını kendi pozisyonlarınızla birlikte okumaksa, salt okunur bir anahtar yeterlidir. İşlem izni vermenin bu senaryoda hiçbir karşılığı yoktur; yalnızca riski büyütür.
Amacınız otomatik botlara abone olmak ve onların sizin adınıza emir açmasıysa, işlem izni gerekir. Bu bilinçli bir tercihtir ve geri alınabilir: bot durdurulabilir, bağlantı kaldırılabilir, anahtar borsa tarafında iptal edilebilir.
Pratik bir yöntem: iki ayrı anahtar üretin. Biri yalnızca okuma izinli, sürekli bağlı. Diğeri işlem izinli ve yalnızca bot çalıştırdığınız dönemde etkin. Böylece “izlemek istiyorum” ile “çalıştırmak istiyorum” aynı anahtarın arkasında birbirine karışmaz.
Anahtar üretirken yapılacak dört kontrol
1. İzinleri en dar kümede bırakın. Borsaların anahtar oluşturma ekranları genelde birkaç izni varsayılan olarak açık getirir. Gerekmeyen her kutucuğu kapatın. “Sonra lazım olur” diye bırakılan izin, en sık sızan izindir.
2. IP kısıtlaması varsa kullanın. Çoğu borsa, anahtarın yalnızca belirli IP adreslerinden kullanılmasına izin veren bir alan sunar. Bu, anahtar sızsa bile başka bir yerden kullanılmasını engeller. Bağlanacağınız servis sabit çıkış IP’leri bildiriyorsa mutlaka girin.
3. Anahtara ne için üretildiğini yazın. Borsaların anahtar listesinde bir etiket alanı bulunur. “finbula-readonly” gibi açık bir ad, altı ay sonra “bu anahtar neydi?” sorusunu ortadan kaldırır. Adı olmayan anahtar iptal edilemez, çünkü hangisini iptal ettiğinizi bilemezsiniz.
4. Secret’ı yalnızca bir kez göreceğinizi unutmayın. API secret çoğu borsada yalnızca oluşturma anında gösterilir. Bir parola yöneticisine kaydedin; ekran görüntüsü almayın, sohbet uygulamasına yapıştırmayın, e-postayla kendinize göndermeyin.
Bağlantı kurulduktan sonra
Bir bağlantı kurup unutmak, kurmamaktan daha risklidir. Üç aylık bir aralıkla şunlara bakın:
- Hangi anahtarlar hâlâ etkin? Denemek için açtığınız, artık kullanmadığınız anahtarları borsa tarafında iptal edin.
- İzinler hâlâ ihtiyaçla örtüşüyor mu? Bot çalıştırmayı bıraktıysanız işlem izni gereksiz duruyor demektir.
- Beklenmedik bir işlem var mı? Borsa hesabınızın işlem geçmişini, uygulamanın gösterdiğiyle karşılaştırın. İki kayıt arasındaki fark, incelenmesi gereken ilk işarettir.
Finbula tarafında bir bağlantıyı istediğiniz an panelden kaldırabilirsiniz; kaldırdığınızda ilgili veri erişimi sona erer. Ancak anahtarın kendisi borsa tarafında yaşamaya devam eder; asıl iptal işlemi orada yapılır. İkisini birbirinin yerine geçen adımlar sanmayın.
Özetle
İzin vermek geri alınabilir bir işlemdir, ama geri alınana kadar geçerlidir. Bir anahtar üretirken sorulacak soru “bu uygulamaya güveniyor muyum?” değil, “bu uygulamanın bu işi yapabilmesi için en az hangi izne ihtiyacı var?” olmalıdır.
İzlemek için okuma yeter. Çalıştırmak için işlem izni gerekir ve bu izni siz açarsınız. Para çekme izni ise hiçbir senaryoda gerekmez.



