CryptoExchange.Net
Used for conversion in ArrayConverter
Marks property as optional
Api credentials info
The api key to authenticate requests
The api secret to authenticate requests
The private key to authenticate requests
Create Api credentials providing a private key for authentication
The private key used for signing
Create Api credentials providing a api key and secret for authentication
The api key used for identification
The api secret used for signing
Create Api credentials providing a api key and secret for authentication
The api key used for identification
The api secret used for signing
Copy the credentials
Create Api credentials providing a stream containing json data. The json data should include two values: apiKey and apiSecret
The stream containing the json data
A key to identify the credentials for the API. For example, when set to `binanceKey` the json data should contain a value for the property `binanceKey`. Defaults to 'apiKey'.
A key to identify the credentials for the API. For example, when set to `binanceSecret` the json data should contain a value for the property `binanceSecret`. Defaults to 'apiSecret'.
Try get the value of a key from a JToken
Dispose
Base class for authentication providers
The provided credentials
ctor
Add authentication to the parameter list
Add authentication to the header dictionary
Sign a string
Sign a byte array
Convert byte array to hex
Private key info
The private key
The private key's pass phrase
Indicates if the private key is encrypted or not
Create a private key providing an encrypted key information
The private key used for signing
The private key's passphrase
Create a private key providing an encrypted key information
The private key used for signing
The private key's passphrase
Create a private key providing an unencrypted key information
The private key used for signing
Create a private key providing an encrypted key information
The private key used for signing
Copy the private key
Dispose
The base for all clients
The address of the client
The name of the client
The log object
The api proxy
The auth provider
Should check objects for missing properties based on the model and the received JSON
The last used id
Lock for id generating
Last is used
ctor
Set the authentication provider
Tries to parse the json data and returns a token
The data to parse
Deserialize a string into an object
The type to deserialize into
The data to deserialize
Whether or not the parsing should be checked for missing properties (will output data to the logging if log verbosity is Debug)
A specific serializer to use
Id of the request
Deserialize a JToken into an object
The type to deserialize into
The data to deserialize
Whether or not the parsing should be checked for missing properties (will output data to the logging if log verbosity is Debug)
A specific serializer to use
A request identifier
Deserialize a stream into an object
The type to deserialize into
The stream to deserialize
A specific serializer to use
Id of the request
Milliseconds response time
Generate a unique id
Fill parameters in a path. Parameters are specified by '{}' and should be specified in occuring sequence
The total path string
The values to fill
Get's all exception messages from a nested exception
Dispose
Converter for arrays to properties
Mark property as an index in the array
The index in the array
ctor
Base class for enum converters
Type of enum to convert
The enum->string mapping
ctor
Convert a string value
converter for milliseconds to datetime
Converter for nanoseconds to datetime
Converter for seconds to datetime
Converter for utc datetime
Common balance
The asset name
Amount available
Total amount
Common trade
Id of the trade
Price of the trade
Quantity of the trade
Fee paid for the trade
The asset fee was paid in
Shared interface for exchange wrappers based on the CryptoExchange.Net package
Get the symbol name based on a base and quote asset
Get a list of symbols for the exchange
Get a list of tickers for the exchange
Get a ticker for the exchange
The symbol to get klines for
Get a list of candles for a given symbol on the exchange
The symbol to retrieve the candles for
The timespan to retrieve the candles for. The supported value are dependent on the exchange
[Optional] Start time to retrieve klines for
[Optional] End time to retrieve klines for
[Optional] Max number of results
Get the order book for a symbol
The symbol to get the book for
The recent trades for a symbol
The symbol to get the trades for
Place an order
The symbol the order is for
The side of the order
The type of the order
The quantity of the order
The price of the order, only for limit orders
[Optional] The account id to place the order on, required for some exchanges, ignored otherwise
The id of the resulting order
Get an order by id
The id
[Optional] The symbol the order is on, required for some exchanges, ignored otherwise
Get trades for an order by id
The id
[Optional] The symbol the order is on, required for some exchanges, ignored otherwise
Get a list of open orders
[Optional] The symbol to get open orders for, required for some exchanges, ignored otherwise
Get a list of closed orders
[Optional] The symbol to get closed orders for, required for some exchanges, ignored otherwise
Cancel an order by id
The id
[Optional] The symbol the order is on, required for some exchanges, ignored otherwise
Get balances
[Optional] The account id to retrieve balances for, required for some exchanges, ignored otherwise
Common order id
Limit type
Market type
Other order type
Common order side
Buy order
Sell order
Common kline
High price for this kline
Low price for this kline
Open price for this kline
Close price for this kline
Open time for this kline
Volume of this kline
Common order
Symbol of the order
Price of the order
Quantity of the order
Status of the order
Whether the order is active
Side of the order
Type of the order
Common order book
Bids
Asks
Common order id
Id of the order
Recent trade
Price of the trade
Quantity of the trade
Trade time
Common symbol
Symbol name
Minimum trade size
Common ticker
Symbol name
High price
Low price
Volume
Helper methods
Add a parameter
Add a parameter
Add an optional parameter. Not added if value is null
Add an optional parameter. Not added if value is null
Create a query string of the specified parameters
The parameters to use
Whether or not the values should be url encoded
How to serialize array parameters
Get the string the secure string is representing
The source secure string
Create a secure string from a string
Wait one async
Wait one async
String to JToken
Validates an int is one of the allowed values
Value of the int
Name of the parameter
Allowed values
Validates an int is between two values
The value of the int
Name of the parameter
Min value
Max value
Validates a string is not null or empty
The value of the string
Name of the parameter
Validates an object is not null
The value of the object
Name of the parameter
Validates a list is not null or empty
The value of the object
Name of the parameter
Rate limiter interface
Limit the request if needed
Request interface
Accept header
Content
Method
Uri
internal request id for tracing
Set byte content
Set string content
Add a header to the request
Get the response
Request factory interface
Create a request for an uri
Configure the requests created by this factory
Request timeout to use
Proxy settings to use
Optional shared http client instance
Response object interface
The response status code
Whether the status code indicates a success status
The response headers
Get the response stream
Close the response
Base class for rest API implementations
The factory for creating requests. Used for unit testing
What should happen when hitting a rate limit
List of active rate limiters
The total amount of requests made
The base address of the API
Client name
Adds a rate limiter to the client. There are 2 choices, the and the .
The limiter to add
Removes all rate limiters from this client
Ping to see if the server is reachable
The roundtrip time of the ping request
Ping to see if the server is reachable
The roundtrip time of the ping request
Base class for socket API implementations
The factory for creating sockets. Used for unit testing
The time in between reconnect attempts
Whether the client should try to auto reconnect when losing connection
The base address of the API
The max amount of concurrent socket connections
Unsubscribe from a stream
The subscription to unsubscribe
Unsubscribe all subscriptions
Interface for order book
The status of the order book. Order book is up to date when the status is `Synced`
Last update identifier
The symbol of the order book
Event when the state changes
Event when order book was updated. Be careful! It can generate a lot of events at high-liquidity markets
Event when the BestBid or BestAsk changes ie a Pricing Tick
Timestamp of the last update
The number of asks in the book
The number of bids in the book
The list of asks
The list of bids
The best bid currently in the order book
The best ask currently in the order book
BestBid/BesAsk returned as a pair
Start connecting and synchronizing the order book
Start connecting and synchronizing the order book
Stop syncing the order book
Stop syncing the order book
Interface for order book entries
The quantity of the entry
The price of the entry
Interface for order book entries
Sequence of the update
Interface for websocket interaction
Websocket closed
Websocket message received
Websocket error
Websocket opened
Id
Origin
Reconnecting
Handler for byte data
Handler for string data
Socket url
State
Is closed
Is open
Supported ssl protocols
Timeout
Connect the socket
Send data
Reset socket
Close the connecting
Set proxy
Websocket factory interface
Create a websocket for an url
Create a websocket for an url
Default log writer, writes to debug
Log implementation
The verbosity of the logging
Client name
ctor
Set the writers
Write a log entry
The log verbosity
Debug logging
Info logging
Warning logging
Error logging
None, used for disabling logging
File writer
ctor
Dispose
Proxy info
The host address of the proxy
The port of the proxy
The login of the proxy
The password of the proxy
Create new settings for a proxy
The proxy hostname/ip
The proxy port
Create new settings for a proxy
The proxy hostname/ip
The proxy port
The proxy login
The proxy password
Create new settings for a proxy
The proxy hostname/ip
The proxy port
The proxy login
The proxy password
Comparer for byte order
Compare function
The result of an operation
An error if the call didn't succeed
Whether the call was successful
ctor
Overwrite bool check so we can use if(callResult) instead of if(callResult.Success)
Create an error result
The result of an operation
The data returned by the call
ctor
Overwrite bool check so we can use if(callResult) instead of if(callResult.Success)
Whether the call was successful or not. Useful for nullability checking.
The data returned by the call.
on failure.
true when succeeded, false otherwise.
Create an error result
The result of a request
The status code of the response. Note that a OK status does not always indicate success, check the Success parameter for this.
The response headers
ctor
Create an error result
Create an error result
The result of a request
The status code of the response. Note that a OK status does not always indicate success, check the Success parameter for this.
The response headers
ctor
Create new based on existing
Create from a call result
Create an error result
Constants
Json content type header
Form content type header
What to do when a request would exceed the rate limit
Fail the request
Wait till the request can be send
Where the post parameters should be added
Post parameters in body
Post parameters in url
The format of the request body
Form data
Json
Status of the order book
Not connected
Connecting
Reconnecting
Syncing data
Data synced, order book is up to date
Order book entry type
Ask
Bid
Define how array parameters should be send
Send multiple key=value for each entry
Create an []=value array
Base class for errors
The error code from the server
The message for the error that occurred
The data which caused the error
ctor
String representation
Cant reach server error
ctor
No api credentials provided while trying to access private endpoint
ctor
Error returned by the server
ctor
ctor
Web error returned by the server
ctor
ctor
Error while deserializing data
ctor
The error message
The data which caused the error
Unknown error
ctor
Error message
Error data
An invalid parameter has been provided
ctor
Rate limit exceeded
ctor
Cancellation requested
ctor
Base options
The log verbosity
The log writers
Base for order book options
The name of the order book implementation
Whether each update should have a consecutive id number. Used to identify and reconnect when numbers are skipped.
Whether or not a level should be removed from the book when it's pushed out of scope of the limit. For example with a book of limit 10,
when a new bid is added which makes the total amount of bids 11, should the last bid entry be removed
The name of the order book implementation
Whether each update should have a consecutive id number. Used to identify and reconnect when numbers are skipped.
Whether or not a level should be removed from the book when it's pushed out of scope of the limit. For example with a book of limit 10,
when a new bid is added which makes the total amount of bids 11, should the last bid entry be removed
Base client options
The base address of the client
The api credentials
Should check objects for missing properties based on the model and the received JSON
Proxy to use
ctor
Base for rest client options
List of rate limiters to use
What to do when a call would exceed the rate limit
The time the server has to respond to a request before timing out
Http client to use. If a HttpClient is provided in this property the RequestTimeout and Proxy options will be ignored and should be set on the provided HttpClient instance
ctor
The base address of the API
ctor
The base address of the API
Shared http client instance
Create a copy of the options
Base for socket client options
Whether or not the socket should automatically reconnect when losing connection
Time to wait between reconnect attempts
The time to wait for a socket response
The time after which the connection is assumed to be dropped
The amount of subscriptions that should be made on a single socket connection. Not all exchanges support multiple subscriptions on a single socket.
Setting this to a higher number increases subscription speed, but having more subscriptions on a single connection will also increase the amount of traffic on that single connection.
ctor
Create a copy of the options
Buffer entry with a first and last update id
First update id
Last update id
List of asks
List of bids
Base for order book implementations
The process buffer, used while syncing
The ask list
The bid list
Order book implementation id
The log
If order book is set
The amount of levels for this book
The status of the order book. Order book is up to date when the status is `Synced`
Last update identifier
The symbol of the order book
Event when the state changes
Event when the BestBid or BestAsk changes ie a Pricing Tick
Event when order book was updated, containing the changed bids and asks. Be careful! It can generate a lot of events at high-liquidity markets
Timestamp of the last update
The number of asks in the book
The number of bids in the book
The list of asks
The list of bids
The best bid currently in the order book
The best ask currently in the order book
BestBid/BesAsk returned as a pair
ctor
Start connecting and synchronizing the order book
Start connecting and synchronizing the order book
Stop syncing the order book
Stop syncing the order book
Start the order book
Reset the order book
Resync the order book
Validate a checksum with the current order book
Set the initial data for the order book
The last update sequence number
List of asks
List of bids
Update the order book using a single id for an update
Add a checksum to the process queue
Update the order book using a first/last update id
Update the order book using sequenced entries
List of bids
List of asks
Check and empty the process buffer; see what entries to update the book with
Update order book with an entry
Sequence number of the update
Type of entry
The entry
Wait until the order book has been set
Max wait time
Dispose the order book
String representation of the top 3 entries
String representation of the top x entries
Limits the amount of requests per time period to a certain limit, counts the request per API key.
Create a new RateLimiterAPIKey. This rate limiter limits the amount of requests per time period to a certain limit, counts the request per API key.
The amount to limit to
The time period over which the limit counts
Dispose
Limits the amount of requests per time period to a certain limit, counts the total amount of requests.
Create a new RateLimiterTotal. This rate limiter limits the amount of requests per time period to a certain limit, counts the total amount of requests.
The amount to limit to
The time period over which the limit counts
Limits the amount of requests per time period to a certain limit, counts the request per endpoint.
Create a new RateLimiterPerEndpoint. This rate limiter limits the amount of requests per time period to a certain limit, counts the request per endpoint.
The amount to limit to
The time period over which the limit counts
Limits the amount of requests per time period to a certain limit, counts the total amount of requests.
Create a new RateLimiterTotal. This rate limiter limits the amount of requests per time period to a certain limit, counts the total amount of requests.
The amount to limit to
The time period over which the limit counts
Rate limiting object
Lock
ctor
Get time to wait for a specific time
Add an executed request time
Request object
Create request object for web request
WebRequest factory
HttpWebResponse response object
Create response for a http response message
The actual response
Base rest client
The factory for creating requests. Used for unit testing
Where to place post parameters
Request body content type
Whether or not we need to manually parse an error instead of relying on the http status code
How to serialize array parameters
What request body should be when no data is send
Timeout for requests
Rate limiting behaviour
List of rate limiters
Total requests made
ctor
Adds a rate limiter to the client. There are 2 choices, the and the .
The limiter to add
Removes all rate limiters from this client
Ping to see if the server is reachable
The roundtrip time of the ping request
Ping to see if the server is reachable
The roundtrip time of the ping request
Execute a request
The expected result type
The uri to send the request to
The method of the request
Cancellation token
The parameters of the request
Whether or not the request should be authenticated
Whether or not the resulting object should be checked for missing properties in the mapping (only outputs if log verbosity is Debug)
Where the post parameters should be placed
How array parameters should be serialized
Executes the request and returns the string result
The request object to execute
Cancellation token
Can be used to parse an error even though response status indicates success. Some apis always return 200 OK, even though there is an error.
This can be used together with ManualParseError to check if it is an error before deserializing to an object
Received data
Null if not an error, Error otherwise
Creates a request object
The uri to send the request to
The method of the request
The parameters of the request
Whether or not the request should be authenticated
Where the post parameters should be placed
How array parameters should be serialized
Unique id of a request
Writes the parameters of the request to the request object, either in the query string or the request body
Parse an error response from the server. Only used when server returns a status other than Success(200)
The string the request returned
Base for socket client implementations
The factory for creating sockets. Used for unit testing
List of socket connections currently connecting/connected
The max amount of concurrent socket connections
Handler for byte data
Handler for string data
Generic handlers
Periodic task
Periodic task event
Is disposing
If true; data which is a response to a query will also be distributed to subscriptions
If false; data which is a response to a query won't get forwarded to subscriptions as well
Create a socket client
Client name
Client options
Authentication provider
Set a function to interpret the data, used when the data is received as bytes instead of a string
Handler for byte data
Handler for string data
Subscribe
The expected return data
The request to send
The identifier to use
If the subscription should be authenticated
The handler of update data
Subscribe using a specif URL
The type of the expected data
The URL to connect to
The request to send
The identifier to use
If the subscription should be authenticated
The handler of update data
Sends the subscribe request and waits for a response to that request
The connection to send the request on
The request to send
The subscription the request is for
Query for data
Expected result type
The request to send
Whether the socket should be authenticated
Query for data
The expected result type
The url for the request
The request to send
Whether the socket should be authenticated
Sends the query request and waits for the result
The expected result type
The connection to send and wait on
The request to send
Checks if a socket needs to be connected and does so if needed
The connection to check
Whether the socket should authenticated
Needs to check if a received message was an answer to a query request (preferable by id) and set the callResult out to whatever the response is
The type of response
The socket connection
The request that a response is awaited for
The message
The interpretation (null if message wasn't a response to the request)
True if the message was a response to the query
Needs to check if a received message was an answer to a subscription request (preferable by id) and set the callResult out to whatever the response is
The socket connection
The request that a response is awaited for
The message
The interpretation (null if message wasn't a response to the request)
True if the message was a response to the subscription request
Needs to check if a received message matches a handler. Typically if an update message matches the request
The received data
The subscription request
Needs to check if a received message matches a handler. Typically if an received message matches a ping request or a other information pushed from the the server
The received data
The string identifier of the handler
Needs to authenticate the socket so authenticated queries/subscriptions can be made on this socket connection
Needs to unsubscribe a subscription, typically by sending an unsubscribe request. If multiple subscriptions per socket is not allowed this can just return since the socket will be closed anyway
The connection on which to unsubscribe
The subscription to unsubscribe
Optional handler to interpolate data before sending it to the handlers
Add a handler for a subscription
The type of data the subscription expects
The request of the subscription
The identifier of the subscription (can be null if request param is used)
Whether or not this is a user subscription (counts towards the max amount of handlers on a socket)
The socket connection the handler is on
The handler of the data received
Adds a generic message handler. Used for example to reply to ping requests
The name of the request handler. Needs to be unique
The action to execute when receiving a message for this handler (checked by )
Gets a connection for a new subscription or query. Can be an existing if there are open position or a new one.
The address the socket is for
Whether the socket should be authenticated
Process an unhandled message
The token that wasn't processed
Connect a socket
The socket to connect
Create a socket for an address
The address the socket should connect to
Periodically sends an object to a socket
How often
Method returning the object to send
Unsubscribe from a stream
The subscription to unsubscribe
Unsubscribe all subscriptions
Dispose the client
Socket implementation
Socket
Log
Error handlers
Open handlers
Close handlers
Message handlers
Id
If is reconnecting
Origin
Url
Is closed
Is open
Protocols
Interpreter for bytes
Interpreter for strings
Last action time
Timeout
Socket state
ctor
ctor
On close
On message
On error
On open
Handle
Handle
Checks if timed out
Close socket
Reset socket
Send data
Connect socket
Set a proxy
Dispose
Socket connecting
Connection lost event
Connecting restored event
The connection is paused event
The connection is unpaused event
Connecting closed event
Unhandled message event
The amount of handlers
If connection is authenticated
If connection is made
The socket
If should reconnect upon closing
Time of disconnecting
If activity is paused
New socket connection
The socket client
The socket
Add handler
Send data
The data type
The object to send
The timeout for response
The response handler
Send data to the websocket
The type of the object to send
The object to send
How null values should be serialized
Send string data to the websocket
The data to send
Handler for a socket closing. Reconnects the socket if needed, or removes it from the active socket list if not
Close the connection
Close the subscription
Subscription to close
Socket subscription
Exception event
Message handlers for this subscription. Should return true if the message is handled and should not be distributed to the other handlers
Request object
Subscription identifier
Is user subscription or generic
If the subscription has been confirmed
Create SocketSubscription for a request
Create SocketSubscription for an identifier
Invoke the exception event
Subscription
Event when the connection is lost. The socket will automatically reconnect when possible.
Event when the connection is restored. Timespan parameter indicates the time the socket has been offline for before reconnecting
Event when the connection to the server is paused. No operations can be performed while paused
Event when the connection to the server is unpaused
Event when an exception happened
The id of the socket
ctor
Close the subscription
Close the socket to cause a reconnect
Factory implementation
System.Diagnostics.CodeAnalysis.AllowNullAttribute">
Specifies that is allowed as an input even if the
corresponding type disallows it.
Initializes a new instance of the class.
Specifies that is disallowed as an input even if the
corresponding type allows it.
Initializes a new instance of the class.
Specifies that a method that will never return under any circumstance.
Initializes a new instance of the class.
Specifies that the method will not return if the associated
parameter is passed the specified value.
Gets the condition parameter value.
Code after the method is considered unreachable by diagnostics if the argument
to the associated parameter matches this value.
Initializes a new instance of the
class with the specified parameter value.
The condition parameter value.
Code after the method is considered unreachable by diagnostics if the argument
to the associated parameter matches this value.
Specifies that an output may be even if the
corresponding type disallows it.
Initializes a new instance of the class.
Specifies that when a method returns ,
the parameter may be even if the corresponding type disallows it.
Gets the return value condition.
If the method returns this value, the associated parameter may be .
Initializes the attribute with the specified return value condition.
The return value condition.
If the method returns this value, the associated parameter may be .
Specifies that an output is not even if the
corresponding type allows it.
Initializes a new instance of the class.
Specifies that the output will be non- if the
named parameter is non-.
Gets the associated parameter name.
The output will be non- if the argument to the
parameter specified is non-.
Initializes the attribute with the associated parameter name.
The associated parameter name.
The output will be non- if the argument to the
parameter specified is non-.
Specifies that when a method returns ,
the parameter will not be even if the corresponding type allows it.
Gets the return value condition.
If the method returns this value, the associated parameter will not be .
Initializes the attribute with the specified return value condition.
The return value condition.
If the method returns this value, the associated parameter will not be .