CRYPTOCURRENCY EXCHANGE

System Specifications

INTRODUCTION

This is the easiest and the most trusted place for individuals and institutions to buy, sell and trade a variety of Cryptocurrencies such as Bitcoin, Bitcoin Cash, and more on a US based exchange. is the quickest and easiest way of buying and selling of Cryptocurrencies. You'll never get better rate anywhere.

uses the security standards used by the largest Banks and financial institutions to secure your digital assets, such as a 3-point architecture, a ultisignature cold wallet and an encrypted hot wallet among others.

APPLICATION DETAILS

User Module
  • Registration.
  • Registration.
  • Device check.
  • KYC submission and update.
  • Bank a/c submission and update.
  • Generate API keys.
  • Forget password.
  • Change password.
Trade Module
  • Existing offers cancellation.
  • View asset pairs-wise trade details.
  • Create stop loss offer.
  • View asset pairs wise stop loss offers.
  • Existing stop loss offers modification.
  • Existing stop loss offers cancellation.
  • View trade graph by different time frame like minute, hour, day etc.
Transaction Module
  • View exchange spot wallet details.
  • Generate payment order.
  • Generate withdrawal request.
  • Send crypto currency to same or outside the exchange through node.
  • Receive crypto currency from same or outside the exchange through node.
  • View all transaction details.

*All private rest APIs use the OAuth 2.0 authorization protocol for authentication and authorization. Technology Used:

UI
  • Angular 9
  • Apache2 server.
Backend Application
  • Java Version JDK 17
  • Spring boot 3.0.6
  • Maven.
  • Application Server: Apache Tomcat 10.1.4.
  • Oracle 11g as database.
  • Redis in memory data structure.

DATASHEET FOR MATCHING ENGINE

KeyFeature
  • Designed for high scalability and pause less 24/7 operation under high-load conditions and providing low-latency responses.
  • Designed for high scalability and pause less 24/7 operation under high-load conditions and providing low-latency responses.
  • Designed for high scalability and pause less 24/7 operation under high-load conditions and providing low-latency responses.
  • less than 1ms worst wire-to-wire target latency for 1M+ operations per second throughput.
  • less than 1ms worst wire-to-wire target latency for 1M+ operations per second throughput.
  • Single order book configuration is capable of processing 5M operations per second.
Product Highlights

Matching Engine is a lightweight software which consists of Eclipse Collections, Real Logic Agrona, OpenHFT Chronicle-Wire, LZ4, and Adaptive Radix Trees . Here Order book is very lightweight and it does not interact with the database all time to fulfill the order and keep the order. Matching process is done inside the in- memory. Asynchronously it keeps order and matching details inside the database. Here orders are stored by chronicle-Bytes. Chronicle Bytes contains all the low level memory access wrappers. It is built on Chronicle Core’s direct memory and OS system call access.

The API supports
  • 64-bit sizes
  • UTF-8 and ISO-8859-1 encoded strings
  • UTF-8 and ISO-8859-1 encoded strings
  • UTF-8 and ISO-8859-1 encoded strings
  • compressed data types such as stop bit encoding.
  • elastic ByteBuffer wrappers which resize as required.
  • parsing text and writing text directly to off heap bytes.
Benefits
  • HFT optimized. Priority is a limit-order-move operation mean latency (currently ~0.5µs). Cancel operation takes ~0.7µs, placing new order ~1.0µs; In-memory working state for accounting data and order books.
  • Lock-free and contention-free orders matching and risk control algorithms.
  • Matching engine and risk control operations are atomic and deterministic.
  • Pipelined multi-core processing : each CPU core is responsible for a certain processing stage, user accounts shard, or symbol order books shard.

DATASHEET FOR MATCHING ENGINE

Benefits
  • Two different risk processing modes (specified per symbol): direct-exchange and margin-trade.
  • Testing - unit-tests, integration tests, stress tests, integrity/consistency tests.
  • Low GC pressure, objects pooling, single ring-buffer.
  • Threads affinity (requires JNA).
  • User suspend/resume operation (reduces memory consumption).
  • Core reports API (user balances, open interest).
System Requirement

Ubuntu based OS and m4.large AWS instance is sufficient to implement a matching engine.

DATABASE SPECIFICATIONS

Oracle Database 19c Enterprise Edition Release

  • Version : 19.3.0.0.0 - 64bit Production
  • Architecture : x86_64
  • CPU op-mode(s) : 64-bit
  • Byte Order : Little Endian
System Specifications