Kraken
CryptoExchangeAPIs.Kraken.KrakenClient
— TypeKrakenClient <: AbstractAPIsClient
Client info.
Required fields
base_url::String
: Base URL for the client.
Optional fields
public_key::String
: Public key for authentication.secret_key::String
: Secret key for authentication.interface::String
: Interface for the client.proxy::String
: Proxy information for the client.account_name::String
: Account name associated with the client.description::String
: Description of the client.
CryptoExchangeAPIs.Kraken.KrakenAPIError
— TypeKrakenAPIError{T} <: AbstractAPIsError
Exception thrown when an API method fails with code T
.
Required fields
error::Vector{String}
: Error values.
CryptoExchangeAPIs.Kraken.Data
— TypeData{D} <: AbstractAPIsData
Required fields
error::Vector{Any}
: Error values.result::D
: Request result data.
Spot
CryptoExchangeAPIs.Kraken.Spot.public_client
— Constantpublic_client = KrakenClient(; base_url = "https://api.kraken.com")
CryptoExchangeAPIs.Kraken.Spot.Asset.asset
— Functionasset(client::KrakenClient, query::AssetQuery)
asset(client::KrakenClient = Kraken.Spot.public_client; kw...)
Get information about the assets that are available for deposit, withdrawal, trading and earn.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
asset | Vector{String} | false | |
aclass | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
result = Kraken.Spot.asset(;
asset = ["ADA", "SUSHI"],
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"ADA":{
"aclass":"currency",
"altname":"ADA",
"decimals":8,
"display_decimals":6,
"collateral_value":0.9,
"status":"enabled"
},
"SUSHI":{
"aclass":"currency",
"altname":"SUSHI",
"decimals":10,
"display_decimals":5,
"collateral_value":null,
"status":"enabled"
}
}
}
CryptoExchangeAPIs.Kraken.Spot.AssetPair.asset_pair
— Functionasset_pair(client::KrakenClient, query::AssetPairQuery)
asset_pair(client::KrakenClient = Kraken.Spot.public_client; kw...)
Get tradable asset pairs.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
pair | String | false | |
info | AssetPairInfo | false | Default: info , Available: leverage , fees |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
result = Kraken.Spot.asset_pair(;
pair = "ACAUSD"
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"ACAUSD":{
"altname":"ACAUSD",
"base":"ACA",
"quote":"ZUSD",
"aclass_base":"currency",
"aclass_quote":"currency",
"cost_decimals":5,
"costmin":0.5,
"fee_volume_currency":"ZUSD",
"fees":[
{
"volume":0,
"percent":0.4
},
...
],
"fees_maker":[
{
"volume":0,
"percent":0.25
},
...
],
"leverage_buy":[],
"leverage_sell":[],
"lot":"unit",
"lot_decimals":8,
"lot_multiplier":1,
"margin_call":80,
"margin_stop":40,
"ordermin":40.0,
"pair_decimals":3,
"status":"online",
"tick_size":0.001,
"wsname":"ACA/USD"
}
}
}
CryptoExchangeAPIs.Kraken.Spot.Candle.candle
— Functioncandle(client::KrakenClient, query::CandleQuery)
candle(client::KrakenClient = Kraken.Spot.public_client; kw...)
Get OHLC data for a given market.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
pair | String | true | |
interval | TimeInterval | false | m1 m5 m15 m30 h1 h4 d1 w1 d15 |
since | DateTime | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
result = Kraken.Spot.candle(;
pair = "ACAUSD",
interval = CryptoExchangeAPIs.Kraken.Spot.Candle.h1,
since = now(UTC) - Hour(1),
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"ACAUSD":
[
{
"time":"2024-05-15T17:00:00",
"open":0.106,
"high":0.106,
"low":0.106,
"close":0.106,
"vwap":0.0,
"volume":0.0,
"count":0,
"last":"2024-05-15T16:45:00"
},
...
]
}
}
CryptoExchangeAPIs.Kraken.Spot.DepositLog.deposit_log
— Functiondeposit_log(client::KrakenClient, query::DepositLogQuery)
deposit_log(client::KrakenClient; kw...)
Retrieve information about recent deposits. Any deposits initiated in the past 90 days will be included in the response.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
asset | String | true | |
method | String | false | |
nonce | DateTime | false | |
signature | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
kraken_client = KrakenClient(;
base_url = "https://api.kraken.com",
public_key = ENV["KRAKEN_PUBLIC_KEY"],
secret_key = ENV["KRAKEN_SECRET_KEY"],
)
result = Kraken.Spot.deposit_log(
kraken_client;
asset = "XBT",
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":[
{
"method":"Bitcoin",
"aclass":"currency",
"asset":"XXBT",
"refid":"FTQcuak-V6Za8qrWnhzTx67yYHz8Tg",
"txid":"6544b41b607d8b2512baf801755a3a87b6890eacdb451be8a94059fb11f0a8d9",
"info":"2Myd4eaAW96ojk38A2uDK4FbioCayvkEgVq",
"amount":0.78125,
"fee":0.0,
"time":"2023-07-10T12:38:42",
"status":"Success",
"status_prop":"return"
},
...
]
}
CryptoExchangeAPIs.Kraken.Spot.DepositMethod.deposit_method
— Functiondeposit_method(client::KrakenClient, query::DepositMethodQuery)
deposit_method(client::KrakenClient; kw...)
Retrieve methods available for depositing a particular asset.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
asset | String | true | |
nonce | DateTime | false | |
signature | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
kraken_client = KrakenClient(;
base_url = "https://api.kraken.com",
public_key = ENV["KRAKEN_PUBLIC_KEY"],
secret_key = ENV["KRAKEN_SECRET_KEY"],
)
result = Kraken.Spot.deposit_method(
kraken_client;
asset = "XBT",
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":[
{
"method":"Bitcoin",
"limit":false,
"fee":"0.0000000000",
"gen_address":true,
},
...
]
}
CryptoExchangeAPIs.Kraken.Spot.LedgerInfoLog.ledger_info_log
— Functionledger_info_log(client::KrakenClient, query::LedgerInfoLogQuery)
ledger_info_log(client::KrakenClient; kw...)
Retrieve information about ledger entries. 50 results are returned at a time, the most recent by default.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
_end | DateTime | false | |
aclass | String | false | |
asset | String | false | |
ofs | Int64 | false | |
start | DateTime | false | |
type | LedgerType | false | all deposit withdrawal trade margin rollover credit transfer settled staking sale |
nonce | DateTime | false | |
signature | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
kraken_client = KrakenClient(;
base_url = "https://api.kraken.com",
public_key = ENV["KRAKEN_PUBLIC_KEY"],
secret_key = ENV["KRAKEN_SECRET_KEY"],
)
result = Kraken.Spot.ledger_info_log(
kraken_client;
type = CryptoExchangeAPIs.Kraken.Spot.LedgerInfoLog.margin,
asset = "XBT",
start = Dates.DateTime("2021-04-03T15:33:20"),
_end = Dates.DateTime("2022-04-03T15:33:20"),
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"ledger":{
"L4UESK-KG3EQ-UFO4T5":{
"refid":"TJKLXF-PGMUI-4NTLXU",
"time":"2023-07-04T09:54:44.178700032",
"type":"trade",
"subtype":"",
"aclass":"currency",
"asset":"ZGBP",
"amount":-24.5,
"fee":0.049,
"balance":459567.9171
},
...
},
"count":2
}
}
CryptoExchangeAPIs.Kraken.Spot.OrderBook.order_book
— Functionorder_book(client::KrakenClient, query::OrderBookQuery)
order_book(client::KrakenClient = Kraken.Spot.public_client; kw...)
Get current order book details.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
pair | String | true | |
count | Int64 | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
result = Kraken.Spot.order_book(;
pair = "XBTUSD",
count = 10,
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"XXBTZUSD":{
"asks":[
{
"price":64880.3,
"volume":10.817,
"timestamp":"2024-05-15T17:22:08"
},
...
],
"bids":[
{
"price":64880.2,
"volume":0.917,
"timestamp":"2024-05-15T17:22:08"
},
...
]
}
}
}
CryptoExchangeAPIs.Kraken.Spot.Ticker.ticker
— Functionticker(client::KrakenClient, query::TickerQuery)
ticker(client::KrakenClient = Kraken.Spot.public_client; kw...)
Get ticker information for all or requested markets.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
pair | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
result = Kraken.Spot.ticker(;
air = "XBTUSD",
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":{
"XXBTZUSD":{
"a":{
"price":64847.8,
"whole_lot_volume":6.0,
"lot_volume":6.0
},
"b":{
"price":64847.7,
"whole_lot_volume":1.0,
"lot_volume":1.0
},
"c":[
64847.8,
0.00011635
],
"v":[
2575.41519714,
3075.93450804
],
"p":[
63743.49996,
63382.82681
],
"t":[
28103,
34075
],
"l":[
61325.4,
61150.0
],
"h":[
65108.9,
65108.9
],
"o":61568.6
}
}
}
CryptoExchangeAPIs.Kraken.Spot.WithdrawalLog.withdrawal_log
— Functionwithdrawal_log(client::KrakenClient, query::WithdrawalLogQuery)
withdrawal_log(client::KrakenClient; kw...)
Retrieve information about recent withdrawals.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
asset | String | true | |
method | String | false | |
nonce | DateTime | false | |
signature | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
kraken_client = KrakenClient(;
base_url = "https://api.kraken.com",
public_key = ENV["KRAKEN_PUBLIC_KEY"],
secret_key = ENV["KRAKEN_SECRET_KEY"],
)
result = Kraken.Spot.withdrawal_log(
kraken_client;
asset = "XBT"
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":[
{
"method":"Bitcoin",
"aclass":"currency",
"asset":"XXBT",
"refid":"FTQcuak-V6Za8qrPnhsTx47yYLz8Tg",
"txid":"29323ce212ceb2daf81255cbea8a5...ad7a626471e05e1f82929501e82934",
"info":"bc1qa35ls....3egf0872h3w",
"amount":0.72485,
"fee":0.0002,
"time":"2023-06-29T05:10:23",
"status":Pending,
"status_prop":null,
},
...
]
}
CryptoExchangeAPIs.Kraken.Spot.WithdrawalMethod.withdrawal_method
— Functionwithdrawal_method(client::KrakenClient, query::WithdrawalMethodQuery)
withdrawal_method(client::KrakenClient; kw...)
Retrieve a list of withdrawal methods available for the user.
POST 0/private/WithdrawMethods
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
asset | String | false | |
aclass | String | false | |
network | String | false | |
nonce | DateTime | false | |
signature | String | false |
Code samples:
using Serde
using CryptoExchangeAPIs.Kraken
kraken_client = KrakenClient(;
base_url = "https://api.kraken.com",
public_key = ENV["KRAKEN_PUBLIC_KEY"],
secret_key = ENV["KRAKEN_SECRET_KEY"],
)
result = Kraken.Spot.withdrawal_method(
kraken_client;
asset = "XBT"
)
to_pretty_json(result.result)
Result:
{
"error":[],
"result":[
{
"asset":"XXBT",
"method":"Bitcoin",
"network":"Bitcoin",
"minimum":0.0004
},
...
]
}