Skip to content

Interact with the Gemini API using an interactive terminal.

License

Notifications You must be signed in to change notification settings

vietqhoang/gemini-trader-terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disclaimer

This is a personal coding exploratory project. This project is not meant to be used outside of my own use and knowledge building. It is not ready (and will never be ready) for the public to use. If you choose to use this project, proceed at your own risk.

Gemini Trader Terminal

A Ruby client which uses the Gemini REST API to place maker-or-cancel limit orders on the Gemini Exchange. The currency pairs for orders is limited to btcusd and ethusd, though trading other currency pairs can be an option.

Why does the application exist?

Gemini charges much lower transaction fees when the order is made through their API. The goal is to be able to place simple limit orders, taking advantage of the low fee.

At the time of this writing the 30-day fees are the following:

Maker (%) Taker (%) Auction (%) 30 day trading volume ($) Link
ActiveTrader 0.250 0.350 0.250 < 500,000 https://www.gemini.com/fees/activetrader-fee-schedule#section-overview
API 0.100 0.350 0.200 < 1,000,000 https://www.gemini.com/fees/api-fee-schedule#section-overview
Mobile https://www.gemini.com/fees/mobile-fee-schedule
Web https://www.gemini.com/fees/web-fee-schedule

I spent way too much time just to save 15 basis points.

Compared to their main competition, Gemini's API taker fees are much lower when transacting low volumes.

Maker (%) Taker (%) 30 day trading volume ($) Link
Bittrex 0.350 0.350 < 25,000 https://bittrex.zendesk.com/hc/en-us/articles/115000199651-Bittrex-fees
Coinbase Pro 0.500 0.500 < 10,000 https://help.coinbase.com/en/pro/trading-and-funding/trading-rules-and-fees/fees
Kraken Pro 0.160 0.260 < 50,000 https://www.kraken.com/en-us/features/fee-schedule/#kraken-pro

Installation

  1. Install the version of Ruby specificed in the Gemfile using your favorite Ruby management tool.
  2. Run bundle install to install the dependencies.
  3. Create .env in the project root. Populate the file with the API keys. Sandbox details can be found in Gemini's API documentation. The naming of the keys are self explanatory.
    1. Add GEMINI_SANDBOX_API_KEY
    2. Add GEMINI_SANDBOX_API_SECRET
    3. Add GEMINI_API_KEY
    4. Add GEMINI_API_SECRET

How to use

Run ruby ./lib/ruby.rb in the terminal to start the interactive UI.

Environment selection screen Main menu screen View balances screen Starting an ethusd order Selecting a limit price Confirm order screen Order placed screen

What is next

  • Test suite
  • Code clean-up

About

Interact with the Gemini API using an interactive terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages