[Discussion] Create an SDK for market data to enable third party apps

As witnessed with Augur v1, many UIs were built on top of the Augur smart contracts. Over the last few years, there have been multiple enquiries by developers to create customized UIs on top of Augur, whether they be for a particular user segment, market type, or to extend functionality (for example, allow trading on Augur without leaving Twitter).

To enable the wider community to build UIs without restrictions, this proposal to build a javascript SDK that can serve as a resuable data layers. The SDK can have certain features:

  • it can be plug and play into an existing UI
  • it’s components are reusable
  • it supports market data for individual markets. Individual market data can include: market phrase, outcomes, outcome price, list of all trades placed that include account address, time, position size
  • it allows for filtering and sorting markets in aggregate: filter by sports for example, sort by liquidity, event start time, etc
  • it allows for placing trades and also allows for defining slippage and price impact
  • it allows for adding and removing liquidity (and for defining slippage and price impact)
  • it allows for querying analytics in aggregate as well as for individual markets

Such an SDK will spawn a variety of other uses that make Augur that much more useful to the community! For example, someone could use this to monitor their position or to build a arbitrage bot. Community creativity is the only limit here and this SDK is tool to channel it!

Much of this functionality already exists in the current comps report in contract-calls.ts.

Perhaps the starting point is actually publishing that package to npm?