roq-auth#

Warning

The interfaces described here are still WORK IN PROGRESS.

Purpose#

  • Manage licenses

Conda#

$ mamba install \
  --channel https://roq-trading.com/conda/stable \
  roq-tools
$ roq-auth [options]

Flags#

$ roq-auth --help

--auth_keys_file

A file containing a public/private key pair generated by roq-keygen (from the roq-tools package).

Design#

The tool uses your public/private key pair to send REST requests to the license manager. Each request will include an encrypted message which can then be used by the license manager to validate that it is indeed you who sent the request.

Note

Keeping your private key safe achieves the following

  • There is no possibility for eavesdropping

  • Unauthorized users can not modify license subscriptions

Note

Roq will keep the history of both license changes and the actual usage. The monthly invoicing will be based on the latest summary as well as any prior changes and usage patterns.

Keys#

Fetch all public keys associated with the master key.

$ roq-auth --auth_keys_file <path> keys

┌────────────────────────────────────────────┐
│public_key                                  │
├────────────────────────────────────────────┤
│Ga5TBqz6yxbhE-tQ5pgJGvFAkVVxuSTNucopNMGfcz4=│
│bM4nrgOIDongElxyZ282zh_FkMmoH5BXRXw0SvXVMVY=│
└────────────────────────────────────────────┘

Licenses#

Fetch all licenses associated with the master key.

$ roq-auth --auth_keys_file <path> licenses

Ga5TBqz6yxbhE-tQ5pgJGvFAkVVxuSTNucopNMGfcz4=
┌───────┬────┬──────┬───────┐
│package│type│public│private│
├───────┼────┼──────┼───────┤
│roq-cme│T2             │
└───────┴────┴──────┴───────┘
bM4nrgOIDongElxyZ282zh_FkMmoH5BXRXw0SvXVMVY=
┌───────────────────┬────┬──────┬───────┐
│package            │type│public│private│
├───────────────────┼────┼──────┼───────┤
│roq-binance        │T1             │
│roq-binance-futures│T1             │
│roq-bitmex         │T1             │
│roq-bitstamp       │T1             │
│roq-coinbase-pro   │T1             │
│roq-deribit        │T1             │
│roq-ftx            │T1             │
│roq-gemini         │T1             │
│roq-hitbtc         │T1             │
│roq-huobi          │T1             │
│roq-huobi-futures  │T1             │
│roq-kraken         │T1             │
│roq-kraken-futures │T1             │
│roq-kucoin         │T1             │
│roq-kucoin-futures │T1             │
└───────────────────┴────┴──────┴───────┘

Summary#

Produce a summary of all licenses associated with the master key.

Note

The total license cost is computed using the standard pricing template, is indicative, and does not include the fixed support and maintenance fee or any other fees that you may have agreed to.

$ roq-auth --auth_keys_file <path> summary

┌───────────────────┬────┬──────┬───────┬──────────────────┐
│package            │type│public│private│license cost (CHF)│
├───────────────────┼────┼──────┼───────┼──────────────────┤
│roq-binance        │T1       2      2               200│
│roq-binance-futures│T1       2      2               200│
│roq-bitfinex       │T1       1      1               200│
│roq-bitmex         │T1       2      2               200│
│roq-bitstamp       │T1       2      2               200│
│roq-bybit          │T1       1      1               200│
│roq-bybit-futures  │T1       1      1               200│
│roq-cme            │T2       1                      100│
│roq-coinbase-pro   │T1       2      2               200│
│roq-deribit        │T1       2      2               200│
│roq-ftx            │T1       2      2               200│
│roq-gate           │T1       1      1               200│
│roq-gate-futures   │T1       1      1               200│
│roq-gemini         │T1       2      2               200│
│roq-hitbtc         │T1       2      2               200│
│roq-huobi          │T1       2      2               200│
│roq-huobi-futures  │T1       2      2               200│
│roq-kraken         │T1       2      2               200│
│roq-kraken-futures │T1       2      2               200│
│roq-kucoin         │T1       2      2               200│
│roq-kucoin-futures │T1       2      2               200│
│roq-okx            │T1       1      1               200│
├───────────────────┼────┼──────┼───────┼──────────────────┤
│total                      37     36              4300│
└───────────────────┴────┴──────┴───────┴──────────────────┘

Add Public Key#

TO BE WRITTEN

Remove Public Key#

TO BE WRITTEN

Add License To Public Key#

TO BE WRITTEN

Remove License From Public Key#

TO BE WRITTEN

Packages#

Fetch list of packages.

$ roq-auth --auth_keys_file <path> packages

┌───────────────────┬────┬──────┬───────┐
│package            │type│public│private│
├───────────────────┼────┼──────┼───────┤
│roq-binance        │T1             │
│roq-binance-futures│T1             │
│roq-bitfinex       │T1             │
│roq-bitmex         │T1             │
│roq-bitstamp       │T1             │
│roq-bybit          │T1             │
│roq-bybit-futures  │T1             │
│roq-cme            │T2             │
│roq-coinbase-pro   │T1             │
│roq-deribit        │T1             │
│roq-ftx            │T1             │
│roq-gate           │T1             │
│roq-gate-futures   │T1             │
│roq-gemini         │T1             │
│roq-hitbtc         │T1             │
│roq-huobi          │T1             │
│roq-huobi-futures  │T1             │
│roq-kraken         │T1             │
│roq-kraken-futures │T1             │
│roq-kucoin         │T1             │
│roq-kucoin-futures │T1             │
│roq-okx            │T1             │
│roq-upbit          │T1             │
└───────────────────┴────┴──────┴───────┘

Pricing#

Fetch the pricing templates.

$ roq-auth --auth_keys_file <path> pricing

T1
┌───────┬───┬───┬───┬───┐
│         1  2  3  4│
├───────┼───┼───┼───┼───┤
│public │100│         │
│private│200│300│350│350│
└───────┴───┴───┴───┴───┘
T2
┌───────┬───┬─┬─┬─┐
│         1│2│3│4│
├───────┼───┼─┼─┼─┤
│public │100│   │
│private│      │
└───────┴───┴─┴─┴─┘