pdepip
go-binance
Go

Golang wrapper for Binance API

Last updated Apr 2, 2026
92
Stars
37
Forks
8
Issues
0
Stars/day
Attention Score
18
Language breakdown
No language data available.
Files click to expand
README

Go Binance API

Summary

Go client for Binance

Installation

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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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("BINANCEKEY"), os.Getenv("BINANCESECRET")) 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.

🔗 More in this category

© 2026 GitRepoTrend · pdepip/go-binance · Updated daily from GitHub