Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,35 @@ if err != nil {
fmt.Println(bybit.PrettyPrint(accountResult))
```

### Websocket Trade channel
```go
ws := bybit.NewBybitPrivateWebSocket(bybit.WEBSOCKET_TRADE_TESTNET, "YOUR_API_KEY", "YOUR_API_SECRET", func(message string) error {
fmt.Println("Received:", message)
return nil
}, bybit.WithPingInterval(10))
_, _ = ws.Connect().SendTradeRequest(map[string]interface{}{
"reqId": "test-005",
"header": map[string]string{
"X-BAPI-TIMESTAMP": fmt.Sprintf("%d", time.Now().UnixMilli()),
"X-BAPI-RECV-WINDOW": "8000",
"Referer": "bot-001",
},
"op": "order.create",
"args": []interface{}{
map[string]interface{}{
"symbol": "ETHUSDT",
"side": "Buy",
"orderType": "Limit",
"qty": "0.2",
"price": "2800",
"category": "linear",
"timeInForce": "PostOnly",
},
},
})
select {}
```

### Websocket public channel
- Order book Subscribe
```go
Expand Down
62 changes: 46 additions & 16 deletions account.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func (s *BybitClientRequest) GetTransactionLog(ctx context.Context, opts ...Requ
endpoint: endpoint,
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -34,7 +34,7 @@ func (s *BybitClientRequest) GetFeeRates(ctx context.Context, opts ...RequestOpt
endpoint: "/v5/account/fee-rate",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -47,7 +47,7 @@ func (s *BybitClientRequest) GetAccountWallet(ctx context.Context, opts ...Reque
endpoint: "/v5/account/wallet-balance",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -60,7 +60,7 @@ func (s *BybitClientRequest) GetBorrowHistory(ctx context.Context, opts ...Reque
endpoint: "/v5/account/borrow-history",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -73,7 +73,7 @@ func (s *BybitClientRequest) GetCoinGreeks(ctx context.Context, opts ...RequestO
endpoint: "/v5/asset/coin-greeks",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -86,7 +86,7 @@ func (s *BybitClientRequest) GetCollateralInfo(ctx context.Context, opts ...Requ
endpoint: "/v5/account/collateral-info",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -96,7 +96,7 @@ func (s *BybitClientRequest) GetAccountInfo(ctx context.Context, opts ...Request
endpoint: "/v5/account/info",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -106,7 +106,17 @@ func (s *BybitClientRequest) GetMMPState(ctx context.Context, opts ...RequestOpt
endpoint: "/v5/account/mmp-state",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

func (s *BybitClientRequest) GetTransferableAmount(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
r := &request{
method: http.MethodGet,
endpoint: "/v5/account/withdrawal",
secType: secTypeSigned,
}
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -116,7 +126,7 @@ func (s *BybitClientRequest) SetSpotHedgeMode(ctx context.Context, opts ...Reque
endpoint: "/v5/account/set-hedging-mode",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -126,7 +136,7 @@ func (s *BybitClientRequest) UpgradeToUTA(ctx context.Context, opts ...RequestOp
endpoint: "/v5/account/upgrade-to-uta",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -136,7 +146,17 @@ func (s *BybitClientRequest) SetCollateralCoin(ctx context.Context, opts ...Requ
endpoint: "/v5/account/set-collateral-switch",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

func (s *BybitClientRequest) BatchSetCollateralCoin(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
r := &request{
method: http.MethodPost,
endpoint: "/v5/account/set-collateral-switch-batch",
secType: secTypeSigned,
}
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -146,7 +166,7 @@ func (s *BybitClientRequest) SetMarginMode(ctx context.Context, opts ...RequestO
endpoint: "/v5/account/set-margin-mode",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -156,7 +176,7 @@ func (s *BybitClientRequest) SetMarketMakerProtection(ctx context.Context, opts
endpoint: "/v5/account/mmp-modify",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -166,7 +186,17 @@ func (s *BybitClientRequest) ResetMarketMakerProtection(ctx context.Context, opt
endpoint: "/v5/account/mmp-reset",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

func (s *BybitClientRequest) RepayLiability(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
r := &request{
method: http.MethodPost,
endpoint: "/v5/account/quick-repayment",
secType: secTypeSigned,
}
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -176,7 +206,7 @@ func (s *BybitClientRequest) GetDisconnectProtectionInfo(ctx context.Context, op
endpoint: "/v5/account/query-dcp-info",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}

Expand All @@ -186,6 +216,6 @@ func (s *BybitClientRequest) GetSelfMarketProtectionGroup(ctx context.Context, o
endpoint: "/v5/account/smp-group",
secType: secTypeSigned,
}
data := SendRequest(ctx, opts, r, s, err)
data, err := SendRequest(ctx, opts, r, s, err)
return GetServerResponse(err, data)
}
Loading
Loading