Edge client architecture
Last updated
Last updated
The key innovation in Otomic is to create a network of LP nodes in lieu of a shared pool. Otomic requires LPs in its network to run automated software agents that are authorized to perform atomic swaps on behalf of the LPs in real-time. The "always-on" software agents can be matched to exchange with users at all times, and hence provide instant liquidity. The LP nodes only need to call capital at the time of exchange, and hence is very capital efficient. Furthermore, the software agents can perform complex interactions in the atomic swap algorithm, and make it much easier for the users.
These automated software agents are called Otomic blockchain edge nodes. Those edge nodes communicate with the Otomic client to provide a dapp UI to users.
The LP can pre-determine the types of exchanges it wants to participate in, fund the wallets, and store the private keys on the edge node. He can then just let the edge node run unattended, and it will automatically perform the exchanges requested by the Otomic network.
Furthermore, since the Otomic can bridge one type of token in chain A to another type of token on chain B, or even multiple types of tokens on chain B (in the case of the user requesting a small change of native tokens), it requires edge nodes to offer "exchange rates" on behalf of LPs. In order for the decentralized system to work, we need multiple LP edge nodes competing to offer the best exchange rates for each user request.
The LP edge node software is open source and packaged in a Docker container that can run on virtually any Internet-connected hardware. The LP can run his edge node on any public cloud provider or a spare computer in his own home. Please see our complete documentation on setting up and operating an LP edge client node.
Since the Otomic is permissionless, there could be many anonymous LP edge nodes, each offering different exchange terms and rates. So how does the Otomic client dapp select and match an edge node as a bridge exchange counterparty for the user? That is the role of the Otomic relay server. The relay server acts as the backend service for the Obridge web client. It also maintains a registry of currently active LP edge nodes, and the exchange requirements (e.g., types of tokens, max amounts, exchange rates) for each LP. When a user requests a bridge exchange from the client dapp UI, the relay is responsible for matching the LP edge node for the exchange.
The Otomic relay server allows multiple LP nodes to offer exchange rates for each user request. That is a decentralized pricing approach and does not rely on oracles for price feeds.
The relay server software is also open source. In a truly decentralized and permissionless fashion, anyone can create a UI frontend and start a relay server for Otomic.