Platform Java

The Reactive Platform API for Java.

License

License

Categories

Categories

Java Languages React User Interface Web Frameworks ORM Data
GroupId

GroupId

com.reactivemarkets
ArtifactId

ArtifactId

platform-java
Last Version

Last Version

0.0.1
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

Platform Java
The Reactive Platform API for Java.
Project URL

Project URL

https://opensource.reactivemarkets.com

Download platform-java

Dependencies

compile (6)

Group / Artifact Type Version
com.reactivemarkets : papi jar 0.0.1
com.google.flatbuffers : flatbuffers-java jar 1.12.0
log4j : apache-log4j-extras jar 1.2.17
org.agrona : agrona jar 0.9.35
org.slf4j : slf4j-api jar 1.7.30
org.slf4j : slf4j-log4j12 jar 1.7.30

runtime (1)

Group / Artifact Type Version
org.glassfish.tyrus.bundles : tyrus-standalone-client-jdk jar 1.16

Project Modules

There are no modules declared in this project.

Platform Java

The Reactive Platform API for Java.

Building

Linux/Mac

git clone https://github.com/reactivemarkets/platform-java
cd platform-java
./gradlew build

Windows

git clone https://github.com/reactivemarkets/platform-java
cd platform-java
./gradlew.bat build

Using the API

Feed Gateway WebSocket API

The feed gateway provides an API to a binary feed over websockets using the Google Flatbuffers serialisation library. The API provides a flexible subscription model to stream of Level 2 market data snapshots and public trades. Subscriptions are made using a FeedRequest message resulting in a stream of MDSnapshotL2 or PublicTrade messages. Invalid or failed subscriptions will return a FeedRequestReject.

A full example of subscribing to and consuming from the level 2 market data feed can be seen in the com.reactivemarkets.platform.example.feed.FeedGatewayL2Subscription example. You will need an authorisation token to access the API which is generated against your authenticated login in the Reactive Markets platform; instructions are in the next section. The generated token must then be inserted into the websocket headers in the form "Bearer your_token".

Flatbuffers provides an efficient serialization/deserializaton mechanism in terms of both processing and space requirements. The com.reactivemarkets.platform.example.feed.FeedMessageHandler provides an example of how to consume the binary feed into your application. Note, the generated java classes for our Flatbuffers schema are located in the com.reactivemarkets.papi package.

Generating the authorisation token

Creating an authorisation token is a simple three step process:

  1. Log in to the Reactive Markets platform here
  2. Select the API keys option from the pop out menu in the top left of the UI.
  3. Select 'Create new API key'

Feed Gateway Reference Data

Reference data for use with the API is available via the REST API here. Reference data is specified on a per market basis where a market is an instrument on a venue e.g. BTCUSD-CNB or BTCUSD on Coinbase. For the market data feed the following fields are relevant:

  • symbol: the symbol that should be used for subscribing to the market e.g. "BCHUSD-CNB"
  • tick_numer and tick_denom: describe the numerator and denominator for market data tick sizes. For example, tick_numer=1 and tick_denom=100 would indicate the data should be formatted to 1/100 or 0.01.
  • display, description, instr & venue should all be self explanatory

Help and Support

If you require any help/support, or wish to raise a new feature request, then please contact us via the support desk here.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

Versioning

We use SemVer for versioning. For the versions available, see the releases page.

License

This project is licensed under the Apache 2.0 License. A copy of the license is available in the LICENSE.md file in the root directory of the source tree.

com.reactivemarkets

Reactive Markets

The Professional Markets Platform

Versions

Version
0.0.1