package
0.0.0-20250311023717-5c21e974eed8
Repository: https://github.com/thrasher-corp/gocryptotrader.git
Documentation: pkg.go.dev

# README

GoCryptoTrader package Exchanges

Build Status Software License GoDoc Coverage Status Go Report Card

This exchanges package is part of the GoCryptoTrader codebase.

This is still in active development

You can track ideas, planned features and what's in progress on our GoCryptoTrader Kanban board.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Current Features for exchanges

  • This package is used to connect and query data from supported exchanges.

  • Please checkout individual exchange README for more information on implementation

Guide for adding a new exchange

  • A guide on implementing API support for a new exchange can be found here

websocket notes

  • If contributing websocket improvements, please make sure order reports follow these rules.

Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc

# Packages

# Functions

Bootstrap function allows for exchange authors to supplement or override common startup actions If exchange.Bootstrap returns false or error it will not perform any other actions.
GetDefaultConfig returns a default exchange config.
IsSupported returns whether or not a specific exchange is supported.

# Constants

Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Const declarations for fee types.
Endpoint authentication types.
url lookup consts.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
DefaultHTTPTimeout is the default HTTP/HTTPS Timeout for exchange requests.
DefaultWebsocketOrderbookBufferLimit is the maximum number of orderbook updates that get stored before being applied.
DefaultWebsocketResponseCheckTimeout is the default delay in checking for an expected websocket response.
DefaultWebsocketResponseMaxLimit is the default max wait for an expected websocket response before a timeout.
url lookup consts.
url lookup consts.
url lookup consts.
Endpoint authentication types.
Endpoint authentication types.
url lookup consts.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Definitions for each type of withdrawal method for a given exchange.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
url lookup consts.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
url lookup consts.
url lookup consts.
Endpoint authentication types.
Repeated exchange strings FeeType custom type for calculating fees based on method.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.
Endpoint authentication types.

# Variables

ErrAuthenticationSupportNotEnabled defines an error when authenticatedSupport and authenticatedWebsocketApiSupport are set to false in config.json.
ErrCredentialsAreEmpty defines an error for when the credentials are completely empty but an attempt at retrieving credentials was made to undertake an authenticated HTTP request.
Public Errors.
Public Errors.
Exchanges stores a list of supported exchanges.

# Structs

API stores the exchange API settings.
AssetWebsocketSupport defines the availability of websocket functionality to the specific asset type.
Base stores the individual exchange information.
Endpoints stores running url endpoints for exchanges.
Features stores the supported and enabled features for the exchange.
FeaturesEnabled stores the exchange enabled features.
FeaturesSupported stores the exchanges supported features.
FeeBuilder is the type which holds all parameters required to calculate a fee for an exchange.
FundingHistory holds exchange funding history data.
FuturesCapabilities stores the exchange's futures capabilities.
MarginCapabilities stores the exchange's margin capabilities.
OpenInterestSupport helps breakdown a feature and how it is supported.
WithdrawalHistory holds exchange Withdrawal history data.

# Interfaces

AccountManagement defines functionality for exchange account management.
CurrencyStateManagement defines functionality for currency state management.
FunctionalityChecker defines functionality for retrieving exchange support/enabled features.
FuturesManagement manages futures orders, pnl and collateral calculations.
IBotExchange enforces standard functions for all exchanges supported in GoCryptoTrader.
MarginManagement manages margin positions and rates.
OrderManagement defines functionality for order management.

# Type aliases

FeeType is the type for holding a custom fee type (International withdrawal fee).
InternationalBankTransactionType custom type for calculating fees based on fiat transaction types.
URL stores uint conversions.