Off-Chain Components

This page details the Off-Chain components to our system architecture.

User Interface (UI)

User Interface is hosted on a dedicated server. The sole responsibility of that server is only to host the UI. This is done to mitigate the risk of overloading the server charged with maintaining the UI with other protocol activity and avoid security risks to other components by hosting them on separate hardware.

PrivatePools SDK

The SDK's purpose is to interact with the protocol's ILC, allowing users to deposit, withdraw, and harvest rewards. It is an extension of the Balancer framework, allowing us to adopt a secure and tested system for interacting with the contracts' ILC.

Subgraphs

The Private Pools Subgraphs track event interactions within the ILC to query and store the data streaming from the contracts regarding pool balances occurred trades, and deposit/withdraw historical values. For gas efficiency, events are only triggered in the ILC; APIs are utilized for other contracts within the system.

APIs

As part of the development effort to make the protocol more operationally effective internally, we developed specific software optimizations, such as our APIs. The APIs are utilized for gas efficiency, allowing the protocol to read data directly from the full nodes instead of triggering events inside the protocol's smart contracts. The API collects ARC's trade data from the chain's full nodes, decodes it, and indexes it to Private Pools'. Reducing the need to trigger events inside the smart contracts eliminates extra gas expenses that would otherwise be required, maximizing profitability.

Smart Order Routing (SOR)

Smart Order Routing is part of the core infrastructure of the Protocol. SOR is an automated process utilized in electronic trading to find the best possible opportunity across the available liquidity venues for settling the trade relying on the defined configurations. As the liquidity venues within the Private Pools system expand and the protocol and users create more available offerings, SOR will become critical to effectively managing and settling the liquidity across all available sources internally and avoiding liquidity fragmentation. In the Private Pools protocol, SOR carries the same responsibility for routing trades through the liquidity environment and finding the most efficient trade route within the system. By routing through all of the protocol's available liquidity, existing pairs in the platform are arbitraged across all of the system's liquidity, maximizing capital efficiency.

Trading Engine

Our Trading Engine is the logic that operates and engages the arbitrage rebalancing mechanism behind the ARC is hosted off-chain on a separate high-security performance server to protect the protocol's IP. This module is responsible for trading logic and detecting and executing profitable trades that fulfil's the required parameters. After a profitable trade, the module shares profits to the profit distribution contract.

Simulator Tool

One of the internal developments behind the Private Pools project was created to analyze asset correlations more effectively to determine better index compositions and apply different rebalancing strategies to composed index funds. The protocol will outsource part of this tool to the community to help them better study their asset holdings.

Profit Distribution Calculator (PDC)

Our PDC is the off-chain logic component of the profit distribution contracts determines the size of the profit share coming from the system operating activity. It operates by tracking the liquidity share of each participant within the ILC and weighting it against the time they have been in the ILC contract to calculate the dedicated share of that participant.