Geliştirici kılavuzu · Bitfinex v2 REST API

Borç verenler için anlatılan Bitfinex API

Bitfinex'in API dokümantasyonu yüzlerce endpoint'i kapsar; bir borç verme botunun ihtiyacı yaklaşık bir düzinedir. Bu kılavuz tam olarak onları ele alır: çekimi devre dışı bırakılmış bir API anahtarı oluşturmak, herkese açık API'den fonlama oranlarını ve defterlerini okumak, kimlik doğrulamalı API üzerinden fonlama teklifleri vermek ve iptal etmek, ayrıca pratikte karşılaşacağınız hız limitleri ve veri tuhaflıkları — çalışan Python örnekleriyle birlikte.

Endpoint yolları ve davranışları, Stratum'un üretimde kullandığı haliyle resmi Bitfinex v2 API'sine göre doğrulanmıştır, Ağustos 2026. Yetkili referans resmi Bitfinex dokümanlarıdır.

Herkese açık endpointleri deneyin

Canlı Bitfinex fonlama API gezgini

Endpoint ve para birimini seçip kimlik doğrulamasız gerçek bir istek çalıştırın. Stratum endpointi FRR, ortalamalar, kullanılabilir fonlama ve sabit defter seviyelerini normalleştirir.

https://app.stratum.money/api/v1/public/funding-rates.json
Yanıt önizlemesi
{
  "generatedAt": "2026-08-23T06:48:15.408007891Z",
  "updatedAt": "2026-08-23T06:05:00Z",
  "source": "Bitfinex Public REST API",
  "currency": {
    "code": "USD",
    "bitfinexSymbol": "fUSD",
    "current": {
      "timestamp": "2026-08-23T06:05:00Z",
      "dailyRatePercent": "0.031025",
      "annualizedAprPercent": "11.324125",
      "averagePeriodDays": "91.470000",
      "fundingAmount": "5991052941.288744",
      "fundingAmountUsed": "5935309488.394312",
      "fundingAvailable": "55743452.894432",
      "fundingBelowThreshold": "763483370.5925878"
    },
    "averages": {
      "hours24": {
        "dailyRatePercent": "0.031200",
        "annualizedAprPercent": "11.388073",
        "observations": 25
      },
      "days7": {
        "dailyRatePercent": "0.031710",
        "annualizedAprPercent": "11.574020",
        "observations": 169
      },
      "days30": {
        "dailyRatePercent": "0.033403",
        "annualizedAprPercent": "12.192212",
        "observations": 721
      }
    },
    "market": {
      "bestFixedBid": {
        "dailyRatePercent": "0.027397",
        "annualizedAprPercent": "10.000000",
        "periodDays": 120,
        "amount": "11593282.43646913"
      },
      "bestFixedAsk": {
        "dailyRatePercent": "0.014188",
        "annualizedAprPercent": "5.178600",
        "periodDays": 2,
        "amount": "264.93559176"
      },
      "fixedBids": [
        {
          "dailyRatePercent": "0.027397",
          "annualizedAprPercent": "10.000000",
          "periodDays": 120,
          "amount": "11593282.43646913"
        },
        {
          "dailyRatePercent": "0.018011",
          "annualizedAprPercent": "6.574000",
          "periodDays": 120,
          "amount": "133240.73391109"
        },
        {
          "dailyRatePercent": "0.017770",
          "annualizedAprPercent": "6.486100",
          "periodDays": 120,
          "amount": "23123.30278361"
        },
        {
          "dailyRatePercent": "0.017400",
          "annualizedAprPercent": "6.351000",
          "periodDays": 120,
          "amount": "12350.0"
        },
        {
          "dailyRatePercent": "0.017130",
          "annualizedAprPercent": "6.252500",
          "periodDays": 120,
          "amount": "14000.0"
        },
        {
          "dailyRatePercent": "0.017125",
          "annualizedAprPercent": "6.250600",
          "periodDays": 117,
          "amount": "560000.0"
        },
        {
          "dailyRatePercent": "0.017120",
          "annualizedAprPercent": "6.248800",
          "periodDays": 120,
          "amount": "20000.0"
        },
        {
          "dailyRatePercent": "0.017111",
          "annualizedAprPercent": "6.245500",
          "periodDays": 120,
          "amount": "2000000.0"
        },
        {
          "dailyRatePercent": "0.016125",
          "annualizedAprPercent": "5.885600",
          "periodDays": 117,
          "amount": "560000.0"
        },
        {
          "dailyRatePercent": "0.016000",
          "annualizedAprPercent": "5.840000",
          "periodDays": 120,
          "amount": "10009162.66122322"
        },
        {
          "dailyRatePercent": "0.016000",
          "annualizedAprPercent": "5.840000",
          "periodDays": 14,
          "amount": "9306.90081316"
        },
        {
          "dailyRatePercent": "0.015111",
          "annualizedAprPercent": "5.515500",
          "periodDays": 117,
          "amount": "560000.0"
        }
      ],
      "fixedAsks": [
        {
          "dailyRatePercent": "0.014188",
          "annualizedAprPercent": "5.178600",
          "periodDays": 2,
          "amount": "264.93559176"
        },
        {
          "dailyRatePercent": "0.014190",
          "annualizedAprPercent": "5.179300",
          "periodDays": 2,
          "amount": "250.0"
        },
        {
          "dailyRatePercent": "0.014192",
          "annualizedAprPercent": "5.180100",
          "periodDays": 2,
          "amount": "200.0"
        },
        {
          "dailyRatePercent": "0.014978",
          "annualizedAprPercent": "5.467000",
          "periodDays": 2,
          "amount": "3837.92472142"
        },
        {
          "dailyRatePercent": "0.014982",
          "annualizedAprPercent": "5.468400",
          "periodDays": 2,
          "amount": "323.64921816"
        },
        {
          "dailyRatePercent": "0.014988",
          "annualizedAprPercent": "5.470600",
          "periodDays": 2,
          "amount": "605.58777224"
        },
        {
          "dailyRatePercent": "0.014998",
          "annualizedAprPercent": "5.474300",
          "periodDays": 2,
          "amount": "2079.77565528"
        },
        {
          "dailyRatePercent": "0.014999",
          "annualizedAprPercent": "5.474600",
          "periodDays": 2,
          "amount": "1968.80422628"
        },
        {
          "dailyRatePercent": "0.015047",
          "annualizedAprPercent": "5.492200",
          "periodDays": 2,
          "amount": "484.95397132"
        },
        {
          "dailyRatePercent": "0.015196",
          "annualizedAprPercent": "5.546500",
          "periodDays": 2,
          "amount": "150.0"
        },
        {
          "dailyRatePercent": "0.015418",
          "annualizedAprPercent": "5.627600",
          "periodDays": 2,
          "amount": "200.0"
        },
        {
          "dailyRatePercent": "0.015607",
          "annualizedAprPercent": "5.696500",
          "periodDays": 2,
          "amount": "1150.0"
        }
      ],
      "fixedBidDepth": "37154170.83381627",
      "fixedAskDepth": "536825.22487061",
      "frrBidDepth": "0",
      "frrOfferDepth": "0",
      "sampledLevels": 356
    },
    "historyPreview": [
      {
        "timestamp": "2026-08-23T06:05:00Z",
        "dailyRatePercent": "0.031025",
        "annualizedAprPercent": "11.324125",
        "averagePeriodDays": "91.470000",
        "fundingAmount": "5991052941.288744",
        "fundingAmountUsed": "5935309488.394312",
        "fundingAvailable": "55743452.894432",
        "fundingBelowThreshold": "763483370.5925878"
      },
      {
        "timestamp": "2026-08-23T05:05:00Z",
        "dailyRatePercent": "0.031025",
        "annualizedAprPercent": "11.324125",
        "averagePeriodDays": "92.570000",
        "fundingAmount": "5989152818.724412",
        "fundingAmountUsed": "5934084828.197341",
        "fundingAvailable": "55067990.527071",
        "fundingBelowThreshold": "769699003.4136398"
      },
      {
        "timestamp": "2026-08-23T04:05:00Z",
        "dailyRatePercent": "0.031025",
        "annualizedAprPercent": "11.324125",
        "averagePeriodDays": "92.030000",
        "fundingAmount": "5988567317.18653",
        "fundingAmountUsed": "5933880711.029357",
        "fundingAvailable": "54686606.157173",
        "fundingBelowThreshold": "769905136.1789076"
      }
    ]
  }
}

GET /v2/ticker/{symbol} · tBTCUSD / fUSD

Fonlama ticker'ı — FRR (indeks 0, günlük bir oran), en iyi alış/satış ve dönemleri, günlük hacim. Borç verme için en yararlı tek endpoint.

INDEXtBTCUSDfUSD
0BIDFRR
1BID_SIZEBID
2ASKBID_PERIOD
3ASK_SIZEBID_SIZE
4CHANGEASK
5CHANGE_RELATIVEASK_PERIOD
6LAST_PRICEASK_SIZE
7VOLUMEDAILY_CHANGE
8HIGHDAILY_CHANGE_PERC
9LOWLAST_PRICE
10FIRST_TRADEVOLUME
11HIGH
12LOW
15FRR_AMOUNT_AVAILABLE
16FIRST_TRADE

REST: 90 req/min ·docs.bitfinex.com/reference/rest-public-ticker

Sıfırıncı adım

Kapsamı daraltılmış bir API anahtarı oluşturun (çekimler kapalı)

Aşağıdakilerin tümü yalnızca kimlik doğrulamalı endpoint'ler için bir API anahtarı gerektirir — oranlar, mumlar ve defterler herkese açıktır. Bir anahtar oluşturduğunuzda (Bitfinex → API Keys → Create New Key), kapsamını bir borç verenin gerçekten ihtiyaç duyduğu şeylerle sınırlayın: Margin Funding okuma + yazma (teklifleri görmek ve vermek için), Wallets okuma (bakiyeleri görmek için) ve Account History okuma (defter için). Çekimleri, işlem yetkisini ve transferleri devre dışı bırakın.

Bir fonlama botunun paranızı borsadan dışarı taşıma yetkisine asla ihtiyacı yoktur. Çekim ve işlem izni olmayan bir anahtar, en kötü ihtimalle fonlama cüzdanınızı kötü bir oranla borç verebilir — cüzdanı boşaltamaz. Bu, Stratum'un uyguladığı kapsamlamanın aynısıdır: çekim veya işlem yetkili anahtarlar ekleme anında reddedilir.

Oran birimi dönüşümü

Ticker, book ve funding/stats aynı FRR birimini kullanmaz

Ticker ve defter oranları günlük kesirlerdir. funding/stats içindeki FRR alanı görüntülenen günlük FRR’nin 1/365’idir. Karşılaştırmadan önce doğru formülü uygulayın.

ticker/book daily % = API rate × 100
ticker/book gross APR % = API rate × 365 × 100
funding/stats daily % = FRR field × 365 × 100
funding/stats gross APR % = FRR field × 365 × 365 × 100
curl https://app.stratum.money/api/v1/public/funding-rates.json
curl https://app.stratum.money/api/v1/public/funding-rates.csv
curl "https://api-pub.bitfinex.com/v2/ticker/fUSD"
curl "https://api-pub.bitfinex.com/v2/book/fUSD/P0?len=25"

Fonlama için önemli olan endpoint'ler

Herkese açık (anahtar gerekmez, api-pub.bitfinex.com)

GET /v2/ticker/fUSD

Fonlama ticker'ı — FRR (indeks 0, günlük bir oran), en iyi alış/satış ve dönemleri, günlük hacim. Borç verme için en yararlı tek endpoint.

GET /v2/candles/{key}/hist

Vade başına geçmiş fonlama oranı mumları, örneğin 2 günlük USD fonlaması için key trade:1h:fUSD:p2. Geriye dönük testlerinizi bu seriye karşı yaparsınız.

GET /v2/book/fUSD/P2 ve /R0

Canlı fonlama defteri — toplulaştırılmış fiyat seviyeleri (P0–P3) veya ham emirler (R0). Bekleyen her alış ve teklifin oranı, dönemi ve büyüklüğü.

GET /v2/funding/stats/fUSD/hist

Saatlik fonlama istatistikleri: FRR, ortalama dönem, kullanılan toplam fonlama. Tuzak: FRR sütunu FRR/365 olarak saklanır — ticker'la eşleştirmek için 365 ile çarpın.

Kimlik doğrulamalı (api.bitfinex.com, HMAC imzalı)

POST /v2/auth/r/wallets

Cüzdan bakiyeleri, botun borç verdiği fonlama cüzdanı dahil.

POST /v2/auth/r/funding/offers/fUSD

Açık fonlama teklifleriniz; /hist varyantı dolmuş ve iptal edilmiş olanları döndürür.

POST /v2/auth/r/funding/credits/fUSD

Şu anda borç verilmiş olan fonlama (aktif krediler): oran, dönem, açılış zamanı. /hist varyantı kapanmış kredi geçmişinizdir.

POST /v2/auth/w/funding/offer/submit

Fonlama teklifi verin: sembol, miktar, günlük oran, dönem (2–120 gün). İptal için offer/cancel veya offer/cancel/all.

POST /v2/auth/r/ledgers/USD/hist

Defter — her faiz ödemesi ve %15 ücret kesintisi, kredi başına ve gün başına. Kazanç ve vergi rakamları için tek doğru temel.

POST /v2/auth/w/funding/keep

Kredi başına otomatik yenilemeyi kontrol edin — arayüzdeki otomatik yenileme anahtarının API karşılığı.

Çalışan kod

Python örnekleri

FRR ve fonlama defterini okuyun (anahtar gerekmez)

import requests

PUB = "https://api-pub.bitfinex.com"

# Fonlama ticker'ı: indeks 0 FRR'dir, GÜNLÜK oran olarak kote edilir
ticker = requests.get(f"{PUB}/v2/ticker/fUSD", timeout=10).json()
frr_daily = ticker[0]
print(f"FRR: {frr_daily * 365 * 100:.2f}% APR")

# Canlı fonlama defterinin tepesi (toplulaştırılmış)
book = requests.get(f"{PUB}/v2/book/fUSD/P2", params={"len": 25}, timeout=10).json()
for rate, period, count, amount in book[:5]:
    side = "offer" if amount < 0 else "bid"
    print(f"{side}: {rate * 365 * 100:.2f}% APR for {period}d, size {abs(amount):,.0f}")

Fonlama teklifi verin (kimlik doğrulamalı)

import hashlib, hmac, json, time, requests

KEY, SECRET = "your-key", "your-secret"
BASE = "https://api.bitfinex.com"

def auth_post(path: str, body: dict):
    nonce = str(int(time.time() * 1_000_000))  # anahtar başına kesin olarak artmalı
    raw = f"/api/{path}{nonce}{json.dumps(body)}"
    sig = hmac.new(SECRET.encode(), raw.encode(), hashlib.sha384).hexdigest()
    return requests.post(f"{BASE}/{path}", data=json.dumps(body), timeout=15, headers={
        "bfx-nonce": nonce, "bfx-apikey": KEY, "bfx-signature": sig,
        "content-type": "application/json",
    }).json()

# Günlük %0,03 oranla (~%10,95 APR) 2 gün için $150 (Bitfinex minimumu) teklif edin
result = auth_post("v2/auth/w/funding/offer/submit", {
    "type": "LIMIT", "symbol": "fUSD",
    "amount": "150", "rate": "0.0003", "period": 2,
})
print(result)

API'deki oranlar her zaman günlüktür — APR için 365 ile çarpın — ve her zaman brüttür, yani Bitfinex'in kazanılan faizden aldığı %15 ücret öncesidir. Minimum teklif $150 karşılığıdır; dönemler 2–120 gün arasındadır. El yapımı imzalama yerine bakımı yapılan bir istemci tercih ederseniz, Bitfinex resmi bir Python kütüphanesi yayınlıyor (bfxapi).

Hız limitleri ve gerçekten saatlere mal olan tuzaklar

Nonce'lar kesin olarak artmalıdır

İmzalı her istek, o anahtar için bir öncekinden büyük bir bfx-nonce gerektirir. Tek bir anahtarı paylaşan iki süreç "nonce: small" hatalarıyla çakışır — süreç başına bir anahtar kullanın.

Endpoint başına hız limitleri

Herkese açık endpoint'ler rotaya bağlı olarak dakikada yaklaşık 10–90 isteğe izin verir; kimlik doğrulamalı olanlar benzerdir. Limiti aşmak, ERR_RATE_LIMIT gövdeli HTTP 429 döndürür — üstel olarak geri çekilin ve okumaları önbelleğe alın.

funding/stats FRR/365 saklar

/v2/funding/stats içindeki FRR sütunu, günlük FRR'nin 365'e bölünmüş halidir; /v2/ticker ise günlük oranı doğrudan kote eder. Karşılaştırmadan önce stats değerini 365 ile çarpın — aksi halde geriye dönük testler sessizce çarpılır.

Her şey ücretlerden önce brüttür

Defter oranları, mumlar ve FRR'nin tümü ücret öncesidir. Cüzdanınıza, kazanılan faizin %85'i ulaşır (gizli teklifler için %82). Kote edilen orana değil, deftere karşı mutabakat yapın.

Krediler erken kapanır

120 günlük bir kredi 120 gün faiz demek değildir — borçlular pozisyonlarını kapattıklarında geri öderler ve krediler günler içinde geri dönebilir. Nominal dönemi değil, beklenen elde tutma süresini modelleyin.

Kur ya da kullan

Bunu kendiniz çalıştırmak istemezseniz

Yukarıdakilerin tümü, Stratum'un üretimde işlettiği şeydir: aynı endpoint'ler, imzalama, geri çekilme ve defter mutabakatı; artı üç yıllık fonlama mumları üzerinde geriye dönük test edilmiş 11 strateji, kağıt modu ve vergi dışa aktarımları — kapsamını tam olarak sıfırıncı adımda anlatıldığı gibi daralttığınız, çekimi devre dışı bir anahtarın arkasında. Yığının tamamına sahip olmaktan keyif alıyorsanız kendi botunuzu kurun (bu kılavuz artı açık kaynak projeler gerçek bir yoldur); nonce hatalarını ve gece 3'teki 429'ları atlamayı tercih ediyorsanız barındırılan bir bot kullanın.

Bitfinex API SSS

Bir Bitfinex borç verme botunun hangi API izinlerine ihtiyacı vardır?

Margin Funding okuma ve yazma, Wallets okuma ve Account History okuma. Çekimler, işlem yetkisi ve transferler devre dışı kalmalıdır — bir borç verme botunun fonları borsadan dışarı taşımaya asla ihtiyacı yoktur ve kapsamı daraltılmış bir anahtar, sızması halinde zararı sınırlar.

Bitfinex API'sini kullanmak ücretsiz mi?

Evet. Hem herkese açık API (oranlar, mumlar, defterler) hem de kimlik doğrulamalı API (teklifler, cüzdanlar, defter kayıtları) ücretsizdir; yalnızca kimlik doğrulamalı kısım için bir hesap ve API anahtarı gerekir. api-pub.bitfinex.com üzerindeki herkese açık endpoint'ler için hiç anahtar gerekmez.

Resmi bir Bitfinex Python kütüphanesi var mı?

Evet — Bitfinex tarafından yayınlanan bfxapi hem REST'i hem de WebSocket'i kapsar. Bu sayfadaki örnekler, hatta tam olarak ne olduğunu görebilmeniz için düz requests ve el yapımı HMAC imzalama kullanır; üretim kodu için resmi kütüphane tekrarlanan kodu azaltır.

Bitfinex API oranları günlük mü, yıllık mı?

Günlük. 0.0003 oranı günde %0,03 anlamına gelir; basit hesapla yaklaşık %10,95 APR. APR için 365 ile çarpın ve kote edilen her oranın brüt olduğunu unutmayın — Bitfinex kazanılan faizin %15'ini tutar, dolayısıyla cüzdanınıza ulaşan miktar için 0,85 ile çarpın.

Bir borç verme botu için WebSocket API'sine ihtiyacım var mı?

Başlangıç için hayır. REST yoklaması basit bir bota yeter. WebSocket (herkese açık wss://api-pub.bitfinex.com/ws/2, kimlik doğrulamalı wss://api.bitfinex.com/ws/2), REST hız limitinizi tüketmeden canlı defter güncellemeleri veya anında dolum bildirimleri istediğinizde önem kazanır — Stratum cüzdan, teklif ve kredi olaylarını gerçek zamanlı olarak böyle takip eder.

Bitfinex API hız limitleri nedir?

Endpoint'e göre değişir; herkese açık rotalarda dakikada yaklaşık 10–90 istek, kimlik doğrulamalı olanlarda benzer bütçeler. Limiti aşmak HTTP 429 (ERR_RATE_LIMIT) döndürür; iyi davranan istemciler herkese açık okumaları önbelleğe alır ve 429'larda üstel olarak geri çekilir. Kesin sayılar resmi dokümanlarda endpoint başına listelenmiştir.

API işin kolay kısmı

Teklif vermek yirmi satır Python'dur; hangi oranı ve vadeyi teklif edeceğinizi bilmek asıl problemdir. Stratum, yukarıda anlatılan aynı API üzerinde geriye dönük test edilmiş stratejiler çalıştırır — ya da bu sayfadaki kodu alın ve kendi botunuzu kurun.

Stratum'a bir API anahtarı ekleyinCanlı fonlama oranlarıCanlı Bitfinex funding defterini okuAçık kaynak bot karşılaştırmasıBitfinex funding veri setleriCanlı Bitfinex funding oranı widgetı