Bu sayfa otomatik olarak çevrilmiştir. İngilizce orijinal kanonik versiyondur. İngilizce oku
Ana içeriğe geç

Hız Limitleri

Emir işlemleri ve API istekleri için cüzdan başına hız limitleme.

Genel Bakış

Hız limitleme, sabit pencere (fixed-window) algoritması kullanılarak cüzdan başına uygulanır. Limitler şunlara uygulanır:

  • Emir gönderimleri (POST /order)
  • Emir iptalleri (DELETE /order)
  • API istekleri (genel uç nokta kullanımı)

Limitler her 60 saniyede bir sıfırlanır.

Varsayılan Limitler

KatmanEmir/dkİptal/dkAPI İsteği/dkMaks. Açık EmirMaks. Pozisyon
Varsayılan6012060010050
Katman 130603005020
Katman 21203001.200500200
Piyasa Yapıcı6001.2006.0002.000Sınırsız

Yeni cüzdanlar varsayılan limitleri alır. Katman yükseltmeleri için destek ekibiyle iletişime geçin.

Hız Limiti Yanıtı

Bir hız limiti aşıldığında, API 429 Too Many Requests döndürür:

{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded for OrderPlacement: 60 per minute, retry after 45 seconds",
"retry_after_secs": 45,
"limit": 60
}

Yanıt Başlıkları

Hız limitine tabi tüm uç noktalar, hem başarılı hem de hatalı yanıtlarda şu başlıkları içerir:

BaşlıkAçıklamaÖrnek
X-RateLimit-LimitPencere başına izin verilen maksimum istek sayısı60
X-RateLimit-RemainingMevcut pencerede kalan istek sayısı42
X-RateLimit-ResetPencerenin sıfırlanacağı Unix zaman damgası1737312060
Retry-AfterYeniden denemeye kadar geçmesi gereken saniye (yalnızca 429'da)45

Örnek Yanıt Başlıkları

Başarılı istek:

HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1737312060

Hız limitine takılan istek:

HTTP/1.1 429 Too Many Requests
Retry-After: 45
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1737312060

Hız Limiti Kategorileri

Hız limitleri her işlem türü için ayrı ayrı takip edilir:

Emir Gönderimi

Şunlara uygulanır:

  • POST /order (opsiyon emirleri)
  • POST /bulk_order (toplu emirler, gruptaki her emir sayılır)
  • PUT /bulk_order (toplu değiştirmeler, her değiştirme sayılır)

Emir İptali

Şunlara uygulanır:

  • DELETE /order
  • DELETE /bulk_order (toplu iptaller, her iptal sayılır)
  • DELETE /bulk_order_cloid (müşteri emir kimliğine göre toplu iptaller, her iptal sayılır)

API İstekleri

Kimliği doğrulanmış tüm uç noktalardaki genel API kullanımına uygulanır.

Pozisyon ve Emir Limitleri

Hız limitlerine ek olarak, cüzdanların maksimum açık emir ve pozisyon limitleri vardır:

Limit TürüAçıklamaReddedilme
Maks. Açık EmirEşzamanlı maksimum açık emir sayısıEmir, motora ulaşmadan reddedilir
Maks. PozisyonMaksimum benzersiz pozisyon sayısı (-1 = sınırsız)Yeni pozisyon oluşturacaksa emir reddedilir

Limitler aşıldığında:

{
"error": "limit_exceeded",
"message": "Maximum open orders limit exceeded (100)"
}

En İyi Uygulamalar

Hız Limitlerini Yönetme

  1. Başlıkları izleyin: X-RateLimit-Remaining değerini proaktif olarak takip edin
  2. Retry-After'a uyun: Yeniden denemeden önce belirtilen süre kadar bekleyin
  3. Backoff uygulayın: Tekrarlayan 429'larda üstel backoff (exponential backoff) kullanın
import time

def place_order_with_retry(order, max_retries=3):
for attempt in range(max_retries):
response = api.place_order(order)

if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
continue

return response

raise RateLimitError("Max retries exceeded")

İstek Kullanımını Optimize Etme

  1. Toplu uç noktaları kullanın: Tek istekte birden fazla emir için POST /bulk_order
  2. İptalleri gruplayın: Birden fazla DELETE /order isteği yerine DELETE /bulk_order veya DELETE /bulk_order_cloid
  3. Güncellemeler için WebSocket: GET /orders ile sürekli sorgulama (polling) yerine emir güncellemelerine abone olun

İzleme

Şu istemci taraflı metrikleri takip edin:

  • İşlem türü başına istek oranı
  • X-RateLimit-Remaining eğilimleri
  • 429 yanıt sıklığı
  • Ortalama Retry-After süreleri

Hata Referansı

HTTP DurumuHata KoduAçıklama
429rate_limit_exceededHız limiti aşıldı, belirtilen süreden sonra yeniden deneyin

Hataların tam referansı için Errors sayfasına bakın.