Skip to content

A marketmaker bot based on Broxus Nova for asynchronous orders placement in Nova's orderbook using different strategies and price feeds.

Notifications You must be signed in to change notification settings

vp-mazekine/huckster

Repository files navigation

huckster

A marketmaker bot based on Broxus Nova.

huckster helps you to place asynchronous orders in Broxus Nova orderbook using different strategies and price feeds.

Building

  • Clone huckster repository with the git clone command.
  • Go to the repo directory
  • Run ./gradlew build to build the executable
  • Copy the executable to your current location:
    mv ./build/libs/hucksterFat.jar ./huckster.jar

Important: You need to have jdk1.8.0_201 installed to build the app. In case it is not the only Java instance on your PC, specify the path to jdk explicitly by adding -D org.gradle.java.home=<path/to/jdk> parameter to Gradlew.

Running

To run huckster, use a regular java syntax:

java -jar ./huckster.jar [JOB] [PARAMS]

Supported jobs

  • seller
    Sell at the highest possible price
  • orderbook
    Visualize existing orderbook

Runtime parameters

seller job

  • -k, --keys <FILE>
    Keys to access Broxus Nova platform
  • -s, --strategy <FILE>
    Orders placement strategy configuration
  • -pad, --priceAdapter <FILE>
    Price adapter configuration
  • -pau, --priceAuth <FILE>
    Price adapter authentication file [optional, adapter-dependent]
  • -n, --notify <FILE>
    Notifier configuration file [optional]

orderbook job

  • -p, --pair <PAIR>
    Base and counter currency tickers separated by a delimiter. Supported delimiters: underscore(_), dash(-) and slash (/)
  • -k, --keys <FILE>
    Keys to access Broxus Nova platform
  • -r, --refresh <SECONDS>
    Orderbook refresh rate in seconds [optional]. Default: 10

Supported strategies

  • simple
    A simple strategy that takes the following parameters as inputs:

    • Source currency
    • Offsets (for parallel execution) along with volume parts
    • Execution limits
    • Volume and prices structure per target currencies

    For more details see Simple strategy specification.

See examples folder for samples of strategy configuration files.

Supported price feeds

  • fixed
    Goes without saying, fixed prices per different target currencies.

  • googleSheet
    Sources price feed from a Google Sheet. Requires OAuth 2.0 file downloaded from Google Developer Account.

  • bitcoin.com
    Gets price feed from Bitcoin.com exchange

See examples folder for samples of price feed configuration files.

Supported notifiers

  • telegram
    Uses credentials of a Telegram bot to push notifications to private and public chats.

See examples folder for configuration samples.

About

A marketmaker bot based on Broxus Nova for asynchronous orders placement in Nova's orderbook using different strategies and price feeds.

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages