Golang client for the Kraken API.
go get github.com/astaluego/golang-kraken
package main
import (
"fmt"
kraken "github.com/astaluego/golang-kraken"
)
func main() {
client := kraken.New()
client.SetTimezone("UTC") // optional, configures the localization for time.Time Objects
// Public calls
time, err := client.ServerTime()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(time)
}
assets, err := client.Assets(kraken.AssetsConfig{
AssetClass: kraken.Currency,
Assets: []kraken.Asset{kraken.XBT},
})
if err != nil {
fmt.Println(err)
} else {
fmt.Println(assets)
}
// Private calls
// To generate a new one --> https://www.kraken.com/c/account-settings/api
client.WithAuthentification("YOUR_API_KEY", "YOUR_PRIVATE_KEY")
accountBalance, err := client.AccountBalance()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(accountBalance)
}
}
- Get server time
- Get system status
- Get asset info
- Get tradable asset pairs
- Get ticker information
- Get OHLC data
- Get order book
- Get recent trades
- Get recent spread data
- Get account balance
- Get extended balance
- Get trade balance
- Get open orders
- Get closed orders
- Query orders info
- Get trades history
- Query trades info
- Get open positions
- Get ledgers info
- Query ledgers
- Get trade volume
- Request export report
- Get export report statuses
- Get export report data
- Remove export report
- Add order
- Add order batch
- Edit order
- Cancel order
- Cancel all orders
- Cancel all orders after X
- Cancel order batch
- Get deposit methods
- Get deposit addresses
- Get status of recent deposits
- Get withdrawal methods
- Get withdrawal adresses
- Get withdrawal information
- Withdraw funds
- Get status of recent withdrawals
- Request withdrawal cancelation
- Request wallet transfer
- Create subaccount
- Account transfer
- Allocate earn funds
- Deallocate earn funds
- Get allocation status
- Get deallocation status
- List earn strategies
- List earn allocations
In the generate/
folder, you will find the source code to update assets.go
and asset_pairs.go
. Two calls on the Kraken API are made in order to get the list of the assets and asset pairs available on the exchange. Then the code is generated through the text/template feature of Golang.
The aim is to have a list of assets and asset pairs in Golang constants to simplify the usage of the library.
NB: assets.go
and asset_pairs.go
should not be manually edited. To update these files, run the make generate
command.