go-binance

module
v0.0.0-...-4827295 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2021 License: MIT

README

Go Binance API

Summary

Go client for Binance

Installation

go get github.com/pdepip/go-binance/binance

Documentation

Full API Documentation can be found at https://www.binance.com/restapipub.html

Setup

Creating a client:

import (
	"os"
	"go-binance/binance"
)

// Secure method
secret := os.Getenv("BINANCE_SECRET")
key    := os.Getenv("BINANCE_KEY")

// Unsecure method
secret := "mySecret"
key    := "myKey"

client :=  binance.New(secret, key)

Examples

Get Current Positions
package main

import (
    "os"
    "fmt"
    "github.com/pdepip/go-binance/binance"
)

func main() {

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    positions, err := client.GetPositions()

    if err != nil {
        panic(err)
    }

    for _, p := range positions {
        fmt.Println(p.Asset, p.Free, p.Locked)
    }
}
Place a Limit Order
package main

import (
	"os"
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {
    // Params
    order := binance.LimitOrder {
        Symbol:      "BNBBTC",
        Side:        "BUY",
        Type:        "LIMIT",
        TimeInForce: "GTC",
        Quantity:    50.0,
        Price:       0.00025,
    }

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    res, err := client.PlaceLimitOrder(order)
    
    if err != nil {
    	panic(err)
    }
    
    fmt.Println(res)
}
Place a Market Order
package main

import (
	"os"
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {
    // Params
    order := binance.MarketOrder {
        Symbol:   "BNBBTC",
        Side:     "BUY",
        Type:     "MARKET",
        Quantity: 50.0,
    }

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    res, err := client.PlaceMarketOrder(order)
    
    if err != nil {
    	panic(err)
    }
    
    fmt.Println(res)
}
Check Order Status
import (
	"os"
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {
    // Params
    orderQuery := binance.OrderQuery {
        Symbol:  "BNBBTC",
        OrderId: "yourOrderId",
    }

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    res, err := client.CheckOrder(orderQuery)
    
    if err != nil {
    	panic(err)
    }
    
    fmt.Println(res)
}
Cancel an Order
import (
	"os"
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {
    // Params
    orderQuery := binance.OrderQuery {
        Symbol:  "BNBBTC",
        OrderId: "yourOrderId",
    }

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    res, err := client.CancelOrder(orderQuery)
    
    if err != nil {
    	panic(err)
    }
    
    fmt.Println(res)
}
Get Open Orders

import (
	"os"
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {
    // Params
    orderQuery := binance.OpenOrdersQuery {
        Symbol: "BNBBTC",
    }

    client := binance.New(os.Getenv("BINANCE_KEY"), os.Getenv("BINANCE_SECRET"))
    res, err := client.GetOpenOrders(orderQuery)
    
    if err != nil {
    	panic(err)
    }
    
    fmt.Println(res)
}

Get the Order Book
import (
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {

    // Params
    query := binance.OrderBookQuery {
        Symbol: "BNBBTC",
        Limit: 100,
    }

    client := binance.New("", "")
    res, err := client.GetOrderBook(query)

    if err != nil {
        panic(err)
    }
    
    fmt.Println(res)

}
Get Latest Price of a Symbol
import (
	"fmt"
	"github.com/pdepip/go-binance/binance"
)

func main() {

    // Params
    query := binance.SymbolQuery {
        Symbol: "BNBBTC",
    }

    client := binance.New("", "")
    res, err := client.GetLastPrice(query)

    if err != nil {
        panic(err)
    }
    
    fmt.Println(res)

}
Local Depth Cache

See examples/depth.go. Script connects to Binance websocket and maintains a simple local depth cache.

Directories

Path Synopsis
account.go Account (Signed) Endpoints for Binance Exchange API binance.go Wrapper for the Binance Exchange API Authors: Pat DePippo <patrick.depippo@dcrypt.io> Matthew Woop <matthew.woop@dcrypt.io> To Do: client.go Wrapper for the Binance Exchange API market.go Market Data Endpoints for the Binance Exchange API Util Functions for Binance Api Wrapper
account.go Account (Signed) Endpoints for Binance Exchange API binance.go Wrapper for the Binance Exchange API Authors: Pat DePippo <patrick.depippo@dcrypt.io> Matthew Woop <matthew.woop@dcrypt.io> To Do: client.go Wrapper for the Binance Exchange API market.go Market Data Endpoints for the Binance Exchange API Util Functions for Binance Api Wrapper

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL