Skip to content

vegaprotocol/priceproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Price Proxy

priceproxy fetches prices periodically from sources as listed in its config file. It provides a simple REST API for fetching prices.

Vega trading bots use the price proxy to place orders with real-world prices while avoiding hitting API rate limits on upstream price sources. The bots can then provide liquidity on Testnet, and help make the charts look realistic.

Install - from a release

See the releases page.

Install - from source

Either run go get:

go get github.com/vegaprotocol/priceproxy/cmd/priceproxy@latest

Or clone the repository:

git clone https://github.com/vegaprotocol/priceproxy.git
cd priceproxy
go install ./cmd/priceproxy

A compiled priceproxy binary should now be in $GOPATH/bin.

See also:

  • Makefile - contains useful commands for running builds, tests, etc.

Running

priceproxy -config /path/to/your/config.yml

Config

Save the following as config.yml:

server:
  listen: ":8080"
  logformat: text  # json, text
  loglevel: info  # debug, info, warn, error, fatal
  env: prod  # dev, prod

sources:

  - name: bitstamp
    sleepReal: 60  # seconds
    sleepWander: 2  # seconds
    url:
      scheme: https
      host: www.bitstamp.net
      path: "/api/v2/ticker/{base}{quote}/"
      # "{base}" and "{quote}" are replaced at runtime.

prices:

  - source: bitstamp
    base: BTC
    quote: USD
    factor: 1.0
    wander: true

Supported price sources

The following price sources are currently supported. Pull requests are gratefully received for more sources.

priceproxy API Endpoints

Method Location Description
GET /prices?params... List some/all prices
GET /sources List all sources
GET /sources/[name string] List one source
GET /status Resturn status=true

Query parameters for GET /prices

  • source string: Limit the results to ones with the given source.
  • base string: Limit the results to ones with the given base.
  • quote string: Limit the results to ones with the given quote.
  • wander bool: Limit the results to ones with the given wander setting.

Licence

Distributed under the MIT License. See LICENSE for more information.

About

A proxy for price sources

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 6