API

API'mız hakkında bilgi edinin

WebSockets API

WebSockets Dokümanı

REST API

Genel Kullanım

NOT: Tüm API URL'leri api.kraken.com domainini kullanmalıdır.

Public metodları GET ya da POST yöntemleriyle çağrılabilir.

Private metodlar sadece POST kullanılarak çağrılmalı ve HTTP header aşağıda gösterildiği şekilde ayarlanmalıdır:

HTTP header:

API-Key = API key
API-Sign = Mesaj imzası olarak
HMAC-SHA512 (URI yolu + SHA256(Nonce + Post datası))ve base64 e göre decode edilmiş gizli API key 
kullanılmalıdır.

POST verisi:

nonce = sürekli artan unsigned 64 bit tam sayı
otp = iki faktörlü şifre (iki faktör etkinse kullanılır, aksi takdirde gerekli değildir)

Not: Nonce'u daha düşük bir değere çekmenin bir yolu yoktur, bu nedenle önceki nonce'dan daha az sayı üretmeyecek bir nonce üretme yöntemi kullandığınızdan emin olun. Devamlı artan bir sayaç ya da saniyenin yüzde biri ya da daha yüksek hassasiyette bir değer tavsiye edilir. Son nonce değerinden daha düşük nonce değerinde sahip çok sayıda istek (EAPI: Invalid nonce) geçici engellenmeye sebep olabilir

Not: Bazen isteklerin sırası bozulabilir ya da NTP saatinizin geri alınmasına neden olabilir ve bu da nonce sorunlarına sebep olabilir. Bu sorunla karşılaşırsanız, hesap API ayarları sayfanızdaki nonce aralığını

değiştirebilirsiniz. Bu ayar nonce u nasıl arttırdığınıza bağlıdır. Bağlantınıza bağlı olarak, 3-15 saniyelik ağ sorunlarını karşılayacak bir ayar önerilir.

Para birimi gerektiren API çağrılarında ISO4217-A3 isimleri, ISO kayıtlı değilse üc harfli kodları veya X-ISO4217-A3 kodları kullanılabilir.(buraya bakabilirsiniz http://www.ifex-project.org/).

Yanıtlar JSON formatında aşağıda gösterildiği gibi gelecektir:

error = array of error messages in the format of:
    <char-önem kodu><string-hata kategorisi>:<string-hata tipi>[:<string-ekstra bilgiler>]
    önem kodu hata için E, uyarı için W olabilir
result = API çağrısı sonucu (hata oluşursa bulunmayabilir)

Not: String tipinde gösterilen sayıları kullanırken dikkatli olunmalıdır, standart data tipleri taşmaya sebep olabilir.

API çağrı limiti

Kötüye kullanım / DoS saldırılarına karşı koruma sağlamak ve emirlerin hızlı bir şekilde verilip iptal edilmesinin yol açtığı manipülasyonlara karşı sistemlerimiz bulunmaktadır.

API’mizin her kullanıcısı, 0’dan başlayan bir "çağrı sayacı" na sahiptir.

Emir defteri / işlem geçmişi çağrıları sayacı 2 arttırır..

Emir verme / iptal etme çağrıları sayacı etkilemez.

Diğer tüm API çağrıları sayacı 1 arttırır.

Kullanıcı sayacı her birkaç saniyede bir azaltılır ve sayaç, kullanıcının maksimum API erişimini aşıyorsa 15 dakika bekletilir. Starter onaylı kullanıcıların maksimum 15 çağrı limitil vardır ve sayıları her 3 saniyede 1 azalır. Medium ve Pro onaylı kullanıcıların maksimum 20 çağrı limiti vardır; Medium kademe kullanıcılar için sayım her 2 saniyede bir 1 azalır ve Pro hesap sahipleri için her 1 saniyede 1 azalır.

Emir vermek ve iptal etmek sayacı arttırmasa da, manipülasyonu önlemek için ayrı sınırlamalar vardır. Sadece fill olmasını planladığınız emirleri vermek ve hızı saniyede 1 için ayarlamak genellikle bu limiti aşmamak için yeterlidir.

Public piyasa verisi

Sunucu saatini alma

URL: https://api.kraken.com/0/public/Time

Sonuç: Sunucunun saati

unixtime = unix timestamp biçiminde
rfc1123 = RFC 1123 biçiminde

Not: Bu metod sunucu ile istemci arasındaki zaman farkını ayarlamaya yardımcı olacaktır.

Varlık bilgisi alma

URL: https://api.kraken.com/0/public/Assets

Girdi:

info = getiirlecek bilgi (opsiyonel):
    info = tüm bilgiler (varsayılan)
aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
asset = virgülle ayrılmış bilgi almak istenilen varlık listesi (opsiyonel.  varsayılan = belirtilen varlık sınıfı için hepsi)

Sonuç: varlık ismi ve onların bilgilerinin array'i

<asset_name> = varlık ismi
    altname = alternatif isim
    aclass = varlık sınıfı
    decimals = kayıt tutmak için ondalık ölçeklendirme basamağı
    display_decimals = çıktı gösterimi için ondalık ölçeklendirme basamağı

İşleme açık varlık çiftleri alma

URL: https://api.kraken.com/0/public/AssetPairs

Girdi:

info = çekilecek bilgi (opsiyonel):
    info = tüm bilgiler (varsayılan)
    leverage = kaldıraç bilgisi
    fees = komisyon tablosu
    margin = marj bilgisi
pair = virgülle ayrılmış bilgi alınmak istenen varlık çifti (opsiyonel.  varsayılan = tümü)

Sonuç: çift ismi ve onların bilgilerinin arrayi

<pair_name> = çift ismi
    altname = alternatif çift ismi
    wsname = WebSocket çift ismi (mevcutsa)
    aclass_base = base varlığın sınıfı
    base = base varlığın id'si
    aclass_quote = quote varlığın sınıfı
    quote = quote varlığın id'si
    lot = hacim lot büyüklüğü
    pair_decimals = çift için ondalık ölçeklendirme basamağı
    lot_decimals = hacim için ondalık ölçeklendirme basamağı
    lot_multiplier = para birimi hacmini elde etmek için gerekli lot hacim çarpanı
    leverage_buy = alış işleminde kullanılabilir kaldıraç arrayi
    leverage_sell = satış işleminde kullanılabilir kaldıraç arrayi
    fees = komisyon tablosu arrayi [hacim, yüzdelik komisyon] 
    fees_maker = maker komisyon tablosu arrayi [hacim, yüzdelik komisyon] (maker/taker ise)
    fee_volume_currency = volume discount currency
    margin_call = marj çağrı seviyesi
    margin_stop = stop-out/likiditasyon marj seviyesi

Not: Eğer bir varlık maker/taker komisyon tablosundaysa taker "fees" kısmında "fees_maker" kısmında bulunur. Maker/taker da bulunmayan komisyonlar sadece "fees" alanındadır.

Ticker bilgisi alma

URL: https://api.kraken.com/0/public/Ticker

Girdi:

pair = bilgi alınması istenilen virgülle ayrılmış asset çifti

Sonuç: çift ismi ve ticker bilgisi arrayi

<pair_name> =çift ismi
    a = alış array(<fiyat>, <tüm lot hacmi>, <lot hacmi>),
    b = satış array(<fiyat>, <tüm lot hacmi>, <lot hacmi>),
    c = son gerçekleşen işlem arrayi(<fiyat>, <lot hacmi>),
    v = hacim arrayi(<bugün>, <son 24 saat>),
    p = hacmin ağırlıklı ortalama fiyat arrayi(<bugün>, <son 24 saat>),
    t = işlem sayısı arrayi(<bugün>, <son 24 saat>),
    l = düşük array(<bugün>, <son 24 saat>),
    h = yüksek array(<bugün>, <son 24 saat>),
    o = bugünün açılış fiyatı

Not: Bugünün fiyatları 00:00:00 UTC'de başlar

OHLC verisi al

URL: https://api.kraken.com/0/public/OHLC

Girdi:

pair = OHLC verisi alınacak varlık çifti
interval = dakika cinsinden zaman aralığı (opsiyonel):
	1 (varsayılan), 5, 15, 30, 60, 240, 1440, 10080, 21600
since = belirtilen id'den bu yana verilen OHLC verilerini getir (opsiyonel. özel)

Sonuç: OHLC verisi ve çift ismi arrayi

<pair_name> = çift ismi
    girdi arraylerinin arrayi(<zaman>, <open>, <high>, <low>, <close>, <vwap>, <hacim>, <sayı>)
last = id to be used as since when polling for new, committed OHLC data

Not: the last entry in the OHLC array is for the current, not-yet-committed frame and will always be present, regardless of the value of "since".

Emir defterini al

URL: https://api.kraken.com/0/public/Depth

Girdi:

pair = piyasa derinliği alınacak varlık çifti
count = maksimum alış/satış sayısı (opsiyonel)

Sonuç: array of pair name and market depth

<pair_name> = pair name
    asks = ask side array of array entries(<fiyat>, <volume>, <timestamp>)
    bids = bid side array of array entries(<fiyat>, <volume>, <timestamp>)

Son işlemleri al

URL: https://api.kraken.com/0/public/Trades

Girdi:

pair = işlem verisi alınacak varlık çifti
since = return trade data since given id (optional.  exclusive)

Sonuç: array of pair name and recent trade data

<pair_name> = pair name
    array of array entries(<fiyat>, <volume>, <time>, <buy/sell>, <market/limit>, <miscellaneous>)
last = id to be used as since when polling for new trade data

Son spread verilerini al

URL: https://api.kraken.com/0/public/Spread

Girdi:

pair = spread verisi alınacak varlık çifti
since = return spread data since given id (optional.  inclusive)

Sonuç: array of pair name and recent spread data

<pair_name> = pair name
    array of array entries(<time>, <bid>, <ask>)
last = id to be used as since when polling for new spread data

Not: "since" is inclusive so any returned data with the same time as the previous set should overwrite all of the previous set's entries at that time

Private user data

Hesap bakiyesini al

URL: https://api.kraken.com/0/private/Balance

Sonuç: array of asset names and balance amount

Get trade balance

URL: https://api.kraken.com/0/private/TradeBalance

Girdi:

aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
asset =bakiyenin belirleneceği base varlık (varsayılan = ZUSD)

Sonuç: array of trade balance info

eb = eşdeğer bakiye (combined balance of all currencies)
tb = trade balance (combined balance of all equity currencies)
m = açık pozisyonların marj miktarı
n = unrealized net profit/loss of open positions
c = cost basis of open positions
v = current floating valuation of open positions
e = equity = trade balance + unrealized net profit/loss
mf = kullanılabilir marj = equity - başlangıç marjı (yeni pozisyon açabilmek için kullanılabilir marj miktarı)
ml = marj seviyesi = (equity / başlangıç marjı) * 100

Not: Rates used for the floating valuation is the midpoint of the best bid and ask prices

Açık emirleri al

URL: https://api.kraken.com/0/private/OpenOrders

Girdi:

trades = whether or not to include trades in output (optional.  default = false)
userref = restrict results to given user reference id (opsiyonel)

Sonuç: array of order info in open array with txid as the key

refid = Bu emir için oluşturulmuş refere edilen işlem id'si
userref = kullanıcı referans id'si
status = emir durumu:
    pending = defter girişi bekleyen emir
    open = açık emir
    closed = kapanmış emir
    canceled = iptal edilen emir
    expired = süresi geçmiş emir
opentm = unix timestamp of when order was placed
starttm = unix timestamp of order start time (or 0 if not set)
expiretm = unix timestamp of order end time (or 0 if not set)
descr = emir açıklama bilgisi
    pair = varlık çifti
    type = emir türü (buy/sell)
    ordertype = emir tipi (Bakınız Standart emir ekleme)
    price = birincil fiyat
    price2 = ikincil fiyat
    leverage = kaldıraç miktarı
    order = emir açıklaması
    close = conditional close order description (if conditional close set)
vol = emir hacmi (base currency unless viqc set in oflags)
vol_exec = volume executed (base currency unless viqc set in oflags)
cost = toplam tutar (quote currency unless unless viqc set in oflags)
fee = toplam komisyon (quote currency)
price = ortalama fiyat (quote currency unless viqc set in oflags)
stopprice = stop price (quote currency, for trailing stops)
limitprice = tetiklenen limit fiyatı (quote currency, when limit based order type triggered)
misc = comma delimited list of miscellaneous info
    stopped = stop fiyattan tetiklendi
    touched = triggered by touch price
    liquidated = likidasyon
    partial = kısmi fill
oflags = comma delimited list of order flags
    viqc = volume in quote currency
    fcib = prefer fee in base currency (default if selling)
    fciq = prefer fee in quote currency (default if buying)
    nompp = piyasa fiyat koruma yok
trades = array of trade ids related to order (if trades info requested and data available)

Not: Unless otherwise stated, costs, fees, prices, and volumes are in the asset pair's scale, not the currency's scale. For example, if the asset pair uses a lot size that has a scale of 8, the volume will use a scale of 8, even if the currency it represents only has a scale of 2. Similarly, if the asset pair's pricing scale is 5, the scale will remain as 5, even if the underlying currency has a scale of 8.

Get closed orders

URL: https://api.kraken.com/0/private/ClosedOrders

Girdi:

trades = whether or not to include trades in output (optional.  default = false)
userref = restrict results to given user reference id (opsiyonel)
start = starting unix timestamp or order tx id of results (optional.  exclusive)
end = ending unix timestamp or order tx id of results (optional.  inclusive)
ofs = result offset
closetime = which time to use (opsiyonel)
    open
    close
    both (varsayılan)

Sonuç: array of order info

closed = array of order info.  See Get open orders.  Additional fields:
    closetm = unix timestamp of when order was closed
    reason = durum hakkında ek bilgi (if any)
count = amount of available order info matching criteria

Not: Times given by order tx ids are more accurate than unix timestamps. If an order tx id is given for the time, the order's open time is used

Query orders info

URL: https://api.kraken.com/0/private/QueryOrders

Girdi:

trades = whether or not to include trades in output (optional.  default = false)
userref = restrict results to given user reference id (opsiyonel)
txid = comma delimited list of transaction ids to query info about (50 maksimum)

Sonuç: associative array of orders info

<order_txid> = order info.  See Get open orders/Get closed orders

Get trades history

URL: https://api.kraken.com/0/private/TradesHistory

Girdi:

type = type of trade (opsiyonel)
    all = all types (varsayılan)
    any position = any position (open or closed)
    closed position = positions that have been closed
    closing position = any trade closing all or part of a position
    no position = non-positional trades
trades = whether or not to include trades related to position in output (optional.  default = false)
start = starting unix timestamp or trade tx id of results (optional.  exclusive)
end = ending unix timestamp or trade tx id of results (optional.  inclusive)
ofs = result offset

Sonuç: array of trade info

trades = array of trade info with txid as the key
    ordertxid = order responsible for execution of trade
    pair = varlık çifti
    time = unix timestamp of trade
    type = type of order (buy/sell)
    ordertype = emir tipi
    price = average price order was executed at (quote currency)
    cost = total cost of order (quote currency)
    fee = total fee (quote currency)
    vol = volume (base currency)
    margin = başlangıç marjı (quote currency)
    misc = comma delimited list of miscellaneous info
        closing = işlem pozisyonu kısmi veya tam olarak kapattı
count = amount of available trades info matching criteria

İşlem bir pozisyon açmışsa, bilgiler aşağıdaki alanları da içerir.:

    posstatus = pozisyon durumu (open/closed)
    cprice = average price of closed portion of position (quote currency)
    ccost = total cost of closed portion of position (quote currency)
    cfee = total fee of closed portion of position (quote currency)
    cvol = total fee of closed portion of position (quote currency)
    cmargin = total margin freed in closed portion of position (quote currency)
    net = net profit/loss of closed portion of position (quote currency, quote currency scale)
    trades = list of closing trades for position (if available)

Not:

  • Unless otherwise stated, costs, fees, prices, and volumes are in the asset pair's scale, not the currency's scale.
  • Times given by trade tx ids are more accurate than unix timestamps.

Query trades info

URL: https://api.kraken.com/0/private/QueryTrades

Girdi:

txid = comma delimited list of transaction ids to query info about (20 maksimum)
trades = whether or not to include trades related to position in output (optional.  default = false)

Sonuç: associative array of trades info

<trade_txid> = trade info.  See Get trades history

Get open positions

URL: https://api.kraken.com/0/private/OpenPositions

Girdi:

txid = comma delimited list of transaction ids to restrict output to
docalcs = whether or not to include profit/loss calculations (optional.  default = false)

Sonuç: associative array of open position info

<position_txid> = open position info
    ordertxid = order responsible for execution of trade
    pair = asset pair
    time = unix timestamp of trade
    type = type of order used to open position (buy/sell)
    ordertype = order type used to open position
    cost = opening cost of position (quote currency unless viqc set in oflags)
    fee = opening fee of position (quote currency)
    vol = position volume (base currency unless viqc set in oflags)
    vol_closed = position volume closed (base currency unless viqc set in oflags)
    margin = initial margin (quote currency)
    value = current value of remaining position (if docalcs requested.  quote currency)
    net = unrealized profit/loss of remaining position (if docalcs requested.  quote currency, quote currency scale)
    misc = comma delimited list of miscellaneous info
    oflags = comma delimited list of order flags
        viqc = volume in quote currency

Not: Unless otherwise stated, costs, fees, prices, and volumes are in the asset pair's scale, not the currency's scale.

Get ledgers info

URL: https://api.kraken.com/0/private/Ledgers

Girdi:

aclass = asset class (opsiyonel):
    currency (varsayılan)
asset = comma delimited list of assets to restrict output to (optional.  default = all)
type = type of ledger to retrieve (opsiyonel):
    all (varsayılan)
    deposit
    withdrawal
    trade
    margin
start = starting unix timestamp or ledger id of results (optional.  exclusive)
end = ending unix timestamp or ledger id of results (optional.  inclusive)
ofs = result offset

Sonuç: associative array of ledgers info

<ledger_id> = ledger info
    refid = reference id
    time = unx timestamp of ledger
    type = type of ledger entry
    aclass = asset class
    asset = asset
    amount = transaction amount
    fee = transaction fee
    balance = resulting balance

Not: Times given by ledger ids are more accurate than unix timestamps.

Query ledgers

URL: https://api.kraken.com/0/private/QueryLedgers

Girdi:

id = comma delimited list of ledger ids to query info about (20 maksimum)

Sonuç: associative array of ledgers info

<ledger_id> = ledger info.  See Get ledgers info

Get trade volume

URL: https://api.kraken.com/0/private/TradeVolume

Girdi:

pair = comma delimited list of asset pairs to get fee info on (opsiyonel)
fee-info = whether or not to include fee info in results (opsiyonel)

Sonuç: associative array

currency = volume currency
volume = current discount volume
fees = array of asset pairs and fee tier info (if requested)
    fee = current fee in percent
    minfee = minimum fee for pair (if not fixed fee)
    maxfee = maksimum fee for pair (if not fixed fee)
    nextfee = next tier's fee for pair (if not fixed fee.  nil if at lowest fee tier)
    nextvolume = volume level of next tier (if not fixed fee.  nil if at lowest fee tier)
    tiervolume = volume level of current tier (if not fixed fee.  nil if at lowest fee tier)
fees_maker = array of asset pairs and maker fee tier info (if requested) for any pairs on maker/taker schedule
    fee = current fee in percent
    minfee = minimum fee for pair (if not fixed fee)
    maxfee = maksimum fee for pair (if not fixed fee)
    nextfee = next tier's fee for pair (if not fixed fee.  nil if at lowest fee tier)
    nextvolume = volume level of next tier (if not fixed fee.  nil if at lowest fee tier)
    tiervolume = volume level of current tier (if not fixed fee.  nil if at lowest fee tier)

Not: If an asset pair is on a maker/taker fee schedule, the taker side is given in "fees" and maker side in "fees_maker". For pairs not on maker/taker, they will only be given in "fees".

Request export report

URL: https://api.kraken.com/0/private/AddExport

Girdi:

description = report description info
report = report type (trades/ledgers)
format = (CSV/TSV) (optional.  default = CSV)
fields = comma delimited list of fields to include in report (optional.  default = all)
    Not: field options are based on report type
    <trades>
        ordertxid
        time
        ordertype
        price
        cost
        fee
        vol
        margin
        misc
        ledgers
    <ledgers>
        refid
        time
        type
        aclass
        asset
        amount
        fee
        balance
asset = comma delimited list of assets to restrict output to (optional.  default = all)
starttm = report start time (optional.  default = one year before now):
    <n> = unix timestamp of start time
endtm = report end time (optional.  default = now):
    <n> = unix timestamp of end time

Sonuç:

id = report id

Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):

EGeneral:Invalid arguments
EQuery:Unknown asset pair

Get export statuses

URL: https://api.kraken.com/0/private/ExportStatus

Girdi:

report = report type (trades/ledgers)

Sonuç: array of reports and their info

id = rapor id'si
descr = rapor açıklama bilgisi
format = (CSV/TSV)
report = rapor türü (trades/ledgers)
status = İsteğin durumu:
    Queued = rapor oluşturma için sıraya alındı
    Processing = rapor işleniyor
    Processed = rapor işlendi
createdtm = time report was created
expiretm = time report expires
starttm = rapor başlama saati
endtm = rapor bitiş saati
completedtm = time report was completed
aclass = varlık sınıfı
asset = comma delimited list of assets
fields = comma delimited list of fields
    <trades>
        txid
        ordertxid
        pair
        time
        type
        ordertype
        price
        cost
        fee
        vol
        margin
        misc
        ledgers
    <ledgers>
        txid
        refid
        time
        type
        aclass
        asset
        amount
        fee
        balance

Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):

EGeneral:Invalid arguments

Get export report

URL: https://api.kraken.com/0/private/RetrieveExport

Girdi:

id = report id

Sonuç: binary zip archive containing the report

Not: If content-type isn't application/json, text, or html, the binary report will be streamed back. If it is one of those types you can expect an error in the response.

Not: Seçilen rapor türüne ve seçilen alanlara bağlı olarak, rapor aşağıdaki alanlara sahip olabilir. * İşaretli alanlar daima mevcuttur.

<trades>
    *txid
    ordertxid
    *pair
    time
    *type
    ordertype
    price
    cost
    fee
    vol
    margin
    misc
    ledgers
<ledgers>
    *txid
    refid
    time
    type
    aclass
    asset
    amount
    fee
    balance

Remove export report

URL: https://api.kraken.com/0/private/RemoveExport

Girdi:

type = türü kaldır (cancel/delete)
id = rapor id'si

Sonuç: bool with result of call

cancel/delete = türü kaldır

Not: The delete remove type can only be used for a report that has already been processed. Use cancel for queued and processing statuses.

Hatalar: hatalar şunları içerir (ancak bunlarla sınırlı değildir):

EGeneral:Geçersiz Bağımsız Değişkenler
WExport:Zaten işlendi

Not: In the case where a cancel or delete operation has already taken place on a particular report id, you will get back the WExport:Already processed error.




Private user trading

Add standard order

URL: https://api.kraken.com/0/private/AddOrder

Girdi:

pair = varlık çifti
type = emir türü (buy/sell)
ordertype = emir türü:
    market
    limit (price = limit price)
    stop-loss (price = stop loss price)
    take-profit (price = take profit price)
    stop-loss-profit (price = stop loss price, price2 = take profit price)
    stop-loss-profit-limit (price = stop loss price, price2 = take profit price)
    stop-loss-limit (price = stop loss trigger price, price2 = triggered limit price)
    take-profit-limit (price = take profit trigger price, price2 = triggered limit price)
    trailing-stop (price = trailing stop offset)
    trailing-stop-limit (price = trailing stop offset, price2 = triggered limit offset)
    stop-loss-and-limit (price = stop loss price, price2 = limit price)
    settle-position
price = price (optional.  dependent upon ordertype)
price2 = ikincil fiyat (opsiyonel.  dependent upon ordertype)
volume = lot olarak emir hacmi
leverage = amount of leverage desired (opsiyonel.  default = none)
oflags = comma delimited list of order flags (opsiyonel):
    viqc = volume in quote currency (not available for leveraged orders)
    fcib = prefer fee in base currency
    fciq = prefer fee in quote currency
    nompp = piyasa fiyatı koruma yok
    post = post only order (available when ordertype = limit)
starttm = programlanmış başlangıç zamanı (opsiyonel):
    0 = now (varsayılan)
    +<n> = schedule start time <n> seconds from now
    <n> = unix timestamp of start time
expiretm = expiration time (opsiyonel):
    0 = bitiş süresi yok (varsayılan)
    +<n> = expire <n> seconds from now
    <n> = geçerlilik süresinin unix timestampi
userref = user reference id.  32-bit signed number.  (opsiyonel)
validate = validate inputs only.  do not submit order (opsiyonel)

optional closing order to add to system when order gets filled:
    close[ordertype] = emir tipi
    close[price] = price
    close[price2] = secondary price

Sonuç:

descr = order description info
    order = order description
    close = conditional close order description (if conditional close set)
txid = array of transaction ids for order (if order was added successfully)

Hatalar: errors include (but are not limited to):

EGeneral:Geçersiz Bağımsız Değişkenler
EService:Unavailable
ETrade:Geçersiz istek
EOrder:Pozisyon açamıyor
EOrder:Karşıt pozisyon açılamaz
EOrder:Margin allowance exceeded
EOrder:Marj seviyesi çok düşük
EOrder:Yetersiz Marj (exchange does not have sufficient funds to allow margin trading)
EOrder:Yetersiz Fon (insufficient user funds)
EOrder:Minimum emir gerçekleşmedi (volume too low)
EOrder:Emir Limiti Aşıldı
EOrder:Pozisyon Limiti Aşıldı
EOrder:Rate limit Aşıldı
EOrder:Scheduled orders limit exceeded
EOrder:Bilinmeyen Pozisyon

Not:

  • See Get tradable asset pairs for specifications on asset pair prices, lots, and leverage.
  • Prices can be preceded by +, -, or # to signify the price as a relative amount (with the exception of trailing stops, which are always relative). + adds the amount to the current offered price. - subtracts the amount from the current offered price. # will either add or subtract the amount to the current offered price, depending on the type and emir tipi used. Relative prices can be suffixed with a % to signify the relative amount as a percentage of the offered price.
  • For orders using leverage, 0 can be used for the volume to auto-fill the volume needed to close out your position.
  • If you receive the error "EOrder:Trading agreement required", refer to your API key management page for further details.

Cancel open order

URL: https://api.kraken.com/0/private/CancelOrder

Girdi:

txid = transaction id

Sonuç:

count = iptal edilen emir sayısı
pending = eğer belirtilmişse, emir(ler) iptal beklemektedir

Not: txid kullanıcı referans id'si olabilir.

Örnek API istemcileri

Aşağıda kendi API istemcinizi yazarken kullanılabilecek örnek API müşteri kodu kütüphaneleri bulunmaktadır. API’lerin yanlış kullanımı veya yanlış kullanımından kaynaklanan kayıplardan Payward veya üçüncü taraf yazarların sorumlu olmadığını lütfen unutmayın. Payward, üçüncü parti kodun güvenliğini listelemeden önce ilk gözden geçirme işlemini gerçekleştirdi ancak o zamandan bu yana eklenen değişiklikler için garanti veremez. Endişeniz varsa, lütfen iletişime geçin.

C

Dış kaynak https://github.com/hANSIc99/Kraken_C_API.

C#

Dış kaynak https://bitbucket.org/arrivets/krakenapi.

C++

Dış kaynak https://github.com/voidloop/krakenapi.

GO

Dış kaynak https://github.com/Beldur/kraken-go-api-client.

Node.JS

Dış kaynak https://github.com/nothingisdead/npm-kraken-api.

PERL

Dış kaynak http://search.cpan.org/~philippe/Finance-Bank-Kraken-0.1/.

Python 3

Dış kaynak https://github.com/veox/python3-krakenex.

Python 2

Dış kaynak https://github.com/veox/python2-krakenex.

Ruby

Dış kaynak https://github.com/jonatack/kraken_ruby_client.

PHP

Kraken ekibi, Kraken REST API'siyle etkileşime geçmek için temel bir PHP kütüphanesi sağlamıştır. Kaynak ve kullanım örnekleri Paywardkraken-api-client github repository and is MIT licensed.

Library

Use this library class to make calls to the Kraken REST API with a PHP client. It automatically determines the API method's correct URL path, generates a nonce for each request, and adds a signed header using your API secret and the generated nonce.

<?php
/**
 * Kraken'ın REST API'si için referans uygulaması.
 *
 * Daha fazla bilgi için https://www.kraken.com/help/api sayfasını inceleyin.
 *
 *
 * The MIT License (MIT)
 *
 * Copyright (c) 2013 Payward, Inc
 *
 * 
Bu yazılımın ve ilgili dokümantasyon dosyalarının ("Yazılım") bir kopyasını alan herhangi bir kişiye, Yazılım'da herhangi bir kısıtlama olmaksızın, kullanım, kopyalama, değiştirme, birleştirme hakları da dahil olmak ücretsiz olarak izin verilir. 
 * 
 *Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın * tüm kopyalarına veya önemli bölümlerine * dahil edilecektir.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

class KrakenAPIException extends ErrorException {};

class KrakenAPI
{
    protected $key;     // API key
    protected $secret;  // API secret
    protected $url;     // API base URL
    protected $version; // API version
    protected $curl;    // curl handle

    /**
     * KrakenAPI için yapıcı fonksiyon
     *
     * @param string $key API key
     * @param string $secret API secret
     * @param string $url base URL for Kraken API
     * @param string $version API version
     * @param bool $sslverify enable/disable SSL peer verification.  disable if using beta.api.kraken.com
     */
    function __construct($key, $secret, $url='https://api.kraken.com', $version='0', $sslverify=true)
    {
        $this->key = $key;
        $this->secret = $secret;
        $this->url = $url;
        $this->version = $version;
        $this->curl = curl_init();

        curl_setopt_array($this->curl, array(
            CURLOPT_SSL_VERIFYPEER => $sslverify,
            CURLOPT_SSL_VERIFYHOST => 2,
            CURLOPT_USERAGENT => 'Kraken PHP API Agent',
            CURLOPT_POST => true,
            CURLOPT_RETURNTRANSFER => true)
        );
    }

    function __destruct()
    {
        curl_close($this->curl);
    }

    /**
     * Ortak yöntem (Public Method) Sorgulama
     *
     * @param string $method method name
     * @param array $request request parameters
     * @return array request result on success
     * @throws KrakenAPIException
     */
    function QueryPublic($method, array $request = array())
    {
        // POST veri dizesini oluşturmak
        $postdata = http_build_query($request, '', '&');

        // talep gönder
        curl_setopt($this->curl, CURLOPT_URL, $this->url . '/' . $this->version . '/public/' . $method);
        curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postdata);
        curl_setopt($this->curl, CURLOPT_HTTPHEADER, array());
        $result = curl_exec($this->curl);
        if($result===false)
            throw new KrakenAPIException('CURL error: ' . curl_error($this->curl));

        // sonuçları çöz
        $result = json_decode($result, true);
        if(!is_array($result))
            throw new KrakenAPIException('JSON decode error');

        return $result;
    }

    /**
     * Query private methods
     *
     * @param string $path method path
     * @param array $request request parameters
     * @return array request result on success
     * @throws KrakenAPIException
     */
    function QueryPrivate($method, array $request = array())
    {
        if(!isset($request['nonce'])) {
            // generate a 64 bit nonce using a timestamp at microsecond resolution
            // string functions are used to avoid problems on 32 bit systems
            $nonce = explode(' ', microtime());
            $request['nonce'] = $nonce[1] . str_pad(substr($nonce[0], 2, 6), 6, '0');
        }

        // POST veri dizesini oluştur
        $postdata = http_build_query($request, '', '&');

        // API anahtarını ayarla ve mesajı imzala
        $path = '/' . $this->version . '/private/' . $method;
        $sign = hash_hmac('sha512', $path . hash('sha256', $request['nonce'] . $postdata, true), base64_decode($this->secret), true);
        $headers = array(
            'API-Key: ' . $this->key,
            'API-Sign: ' . base64_encode($sign)
        );

        // talep gönder
        curl_setopt($this->curl, CURLOPT_URL, $this->url . $path);
        curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postdata);
        curl_setopt($this->curl, CURLOPT_HTTPHEADER, $headers);
        $result = curl_exec($this->curl);
        if($result===false)
            throw new KrakenAPIException('CURL hatası: ' . curl_error($this->curl));

        // sonuçları çöz
        $result = json_decode($result, true);
        if(!is_array($result))
            throw new KrakenAPIException('JSON çözümleme hatası');

        return $result;
    }
}

Example usage

Below are the steps involved in initializing the KrakenAPI library class, as well a number of example API method calls. Formatted result sets are shown beneath each respective API call snippet.

Initialization

Include the library file and supply your API key and secret when instantiating a KrakenAPI object.

<?php

require_once 'KrakenAPIClient.php';
$kraken = new KrakenAPI('YOUR API KEY', 'YOUR API SECRET');
Method calls

Query a public list of active assets and their properties:

$res = $kraken->QueryPublic('Assets');
print_r($res);

Returned assets are keyed by their ISO-4217-A3-X names, örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [XXBT] => Array
                (
                    [aclass] => currency
                    [altname] => XBT
                    [decimals] => 10
                    [display_decimals] => 5
                )

            [XLTC] => Array
                (
                    [aclass] => currency
                    [altname] => LTC
                    [decimals] => 10
                    [display_decimals] => 5
                )

            [XXRP] => Array
                (
                    [aclass] => currency
                    [altname] => XRP
                    [decimals] => 8
                    [display_decimals] => 5
                )

            [ZEUR] => Array
                (
                    [aclass] => currency
                    [altname] => EUR
                    [decimals] => 4
                    [display_decimals] => 2
                )
            ...
)

Query public ticker info for XBT/USD pair:

$res = $kraken->QueryPublic('Ticker', array('pair' => 'XXBTZUSD'));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [XXBTZUSD] => Array
                (
                    [a] => Array
                        (
                            [0] => 106.09583
                            [1] => 111
                        )

                    [b] => Array
                        (
                            [0] => 105.53966
                            [1] => 4
                        )

                    [c] => Array
                        (
                            [0] => 105.98984
                            [1] => 0.13910102
                        )

                    ...
        )
)

Query public recent trades for XBT/EUR pair since 2013-08-07T18:20:42+00:00:

NOT: the 'since' parameter is subject to change in the future: it's precision may be modified, and it may no longer be representative of a timestamp. The best practice is to base it on the 'last' value returned in the result set.

$res = $kraken->QueryPublic('Trades', array('pair' => 'XXBTZEUR', 'since' => '137589964200000000'));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [XXBTZEUR] => Array
                (
                    [0] => Array
                        (
                            [0] => 78.60500
                            [1] => 2.03990000
                            [2] => 1375897934.1176
                            [3] => s
                            [4] => m
                            [5] =>
                        )

                    [1] => Array
                        (
                            [0] => 79.41809
                            [1] => 2.02203000
                            [2] => 1375898123.0771
                            [3] => b
                            [4] => m
                            [5] =>
                        )

                    [2] => Array
                        (
                            [0] => 79.86999
                            [1] => 7.00000000
                            [2] => 1375898123.2587
                            [3] => b
                            [4] => m
                            [5] =>
                        )
                    ...
            )
            [last] => 137589925237491170
        )
)

Query private asset balances:

$res = $kraken->QueryPrivate('Balance');
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [ZUSD] => 3415.8014
            [ZEUR] => 155.5649
            [XXBT] => 149.9688412800
            [XXRP] => 499889.51600000
        )

)

Query private open orders and included related trades:

$res = $kraken->QueryPrivate('OpenOrders', array('trades' => true));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [open] => Array
                (
                    [O7ICPO-F4CLJ-MVBLHC] => Array
                        (
                            [refid] =>
                            [userref] =>
                            [status] => open
                            [opentm] => 1373750306.9819
                            [starttm] => 0
                            [expiretm] => 0
                            [descr] => Array
                                (
                                    [order] => sell 3.00000000 XBTUSD @ limit 500.00000
                                )

                            [vol] => 3.00000000
                            [vol_exec] => 0.00000000
                            [cost] => 0.00000
                            [fee] => 0.00000
                            [price] => 0.00000
                            [misc] =>
                            [oflags] =>
                        )
                    ...
                )
        )
)

Add a standard order: sell 1.123 XBT/USD @ limit $120

$res = $kraken->QueryPrivate('AddOrder', array(
    'pair' => 'XXBTZUSD',
    'type' => 'sell',
    'ordertype' => 'limit',
    'price' => '120',
    'volume' => '1.123'
));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [descr] => Array
                (
                    [order] => sell 1.12300000 XBTUSD @ limit 120.00000
                )

            [txid] => Array
                (
                    [0] => OAVY7T-MV5VK-KHDF5X
                )

        )

)

Add a standard order: buy €300 worth of XBT at market at 2013-08-12T09:27:22+0000

$res = $kraken->QueryPrivate('AddOrder', array(
    'pair' => 'XXBTZEUR',
    'type' => 'buy',
    'ordertype' => 'market',
    'oflags' => 'viqc',
    'volume' => '300',
    'starttm' => '1376299642'
));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [descr] => Array
                (
                    [order] => buy 300.00000000 XBTEUR @ market
                )

            [txid] => Array
                (
                    [0] => ONQN65-L2GNR-HWJLF5
                )

        )

)

Add a standard order: buy 2.12345678 XBTUSD @ limit $101.9901 with 2:1 leverage, with a follow up stop loss, take profit sell order: stop at -5% loss, take profit at +$10 price increase (signed stop/loss prices determined automatically using # notation):

$res = $kraken->QueryPrivate('AddOrder', array(
    'pair' => 'XXBTZUSD',
    'type' => 'buy',
    'ordertype' => 'limit',
    'price' => '101.9901',
    'volume' => '2.12345678',
    'leverage' => '2:1',
    'close' => array(
        'ordertype' => 'stop-loss-profit',
        'price' => '#5%',  // stop loss price (relative percentage delta)
        'price2' => '#10'  // take profit price (relative delta)
    )
));
print_r($res);

Örnek çıktı:

Array
(
    [error] => Array
        (
        )

    [result] => Array
        (
            [descr] => Array
                (
                    [order] => buy 2.12345678 XBTUSD @ limit 101.99010 with 2:1 leverage
                    [close] => close position @ stop loss -5.0000%, take profit +10.00000
                )

            [txid] => Array
                (
                    [0] => OFMYYE-POAPQ-63IMWL
                )

        )

)

Bireysel Kullanıcı Fonlama

NOTE:Bu geçici bir fonlama API'sidir ve gelecekte güncellenebilir. API kullanırken lütfen API sayfasına bakıp daha fazla bilgi edinin.

Para yatırma yöntemlerini alın

URL: https://api.kraken.com/0/private/DepositMethods

Input:

aclass = varlık sınıfı (opsiyonel):
    para birimi (default)
asset = yatırılmakta olan varlık

Sonuç: ilişkisel sıralama yöntemleri:

y = yatirma yöntemi
limit = şu anda yatırılabilecek maksimum net tutar, ya da limit yoksa false 
fee = ödenecek komisyon tutarı
adres kurulum ücreti = yöntemin bir adres kurulum ücreti olup olmadığı (opsiyonel)

Yatırma adreslerini getir

URL: https://api.kraken.com/0/private/DepositAddresses

Girdi:

aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
varlık = yatırılmakta olan varlık
yöntem = yatırma yöntemi
yeni = yeni bir adres oluşturulup oluşturulmayacağı (opsiyonel.  varsayılan = yanlış)

Sonuç: ilişkisel sıralama adresleri dizisi:

adres = yatırma adresi
vade zamanı = unix zaman damgasında sona erme süresi veya süresinin dolmaması durumunda 0
yeni = adresin hiç kullanılıp kullanılmadığı

Son para yatırmaların durumunu al

URL: https://api.kraken.com/0/private/DepositStatus

Input:

aclass = varlık sınıfı(opsiyonel):
    para birimi (varsayılan)
asset = yatırılmakta olan varlık
method = yatırma yöntemi

Result: array of array deposit status information:

method = kullanılan yatırma yöntemi
aclass = varlık sınıfı
asset = varlık X-ISO4217-A3 kodu
refid = referans kimliği
txid = yöntem işlem ID'si
info = yöntem işlem bilgisi
amount = yatırılan miktar
fee = ödenen komisyon
time = istek yapılırken kullanılan Unix zaman damgası.
status = yatırma işleminin durumu
status-prop = ek durum özellikleri (mevcut ise)
    return = Kraken tarafından başlatılan bir iade işlemi
    onhold = Yatırma işlemi beklemede olup inceleme gerekiyor.
For information about the status, please refer to the IFEX financial transaction states.

Get withdrawal information

URL: https://api.kraken.com/0/private/WithdrawInfo

Input:

aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
asset = çekilmekte olan varlık
key = hesabınızda ayarlandığı sekliyle, çekme işlemi anahtarının adı
amount = çekilecek miktar

Result: associative array of withdrawal info:

method = kullanılacak olan çekme yöntemi
limit = çekilebilecek maksimum net miktar
fee = ödenecek olan komisyon

Withdraw funds

URL: https://api.kraken.com/0/private/Withdraw

Input:

aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
asset = çekilecek olan varlık
key = hesabınızda ayarlandığı sekliyle, çekme işlemi anahtarının adı
amount = komisyon ücretleri dahil çekilecek miktar

Result: associative array of withdrawal transaction:

refid = referans kimliği

Get status of recent withdrawals

URL: https://api.kraken.com/0/private/WithdrawStatus

Input:

aclass = varlık sınıfı (opsiyonel):
    para birimi (varsayılan)
asset = çekilmekte olan varlık
method = öekme yöntemi (opsiyonel)

Result: array of array withdrawal status information:

method = kullanılan çekme yöntemi
aclass = varlık sınıfı
asset = varlık X-ISO4217-A3 kodu
refid = referans kimliği
txid = yöntem işlem kimliği
info = yöntem işlem bilgisi
amount = çekilen miktar
fee = ödenen komisyon
time = istek yapıldığında kullanılan unix zaman damgası.
status = çekme işleminin durumu
status-prop = additional status properties (mumkun ise)
    cancel-pending = iptal talep edildi
    canceled = iptal edildi
    cancel-denied = iptal istendi ancak reddedildi
    return = Kraken tarafından başlatılan bir iade işlemi; iptal edilemez.
    onhold = çekme işlemi beklemededir, inceleme bekleniyor.
For information about the status, please refer to the IFEX financial transaction states.

Request withdrawal cancelation

URL: https://api.kraken.com/0/private/WithdrawCancel

Input:

aclass = asset class (optional):
    currency (default)
asset = çekilmekte olan varlık
refid = çekme işlemi için kullanılan referans kimliği (Ref ID)

Result: eğer başarılı olursa true

Not: İptal garantisi verilemez. Bu bir iptal talebinde bulunacaktır. Para çekme işleminin ne kadar sürdüğüne bağlı olarak para çekme işlemini iptal etmek mümkün olmayabilir.