Building an Application with SYMM

Building with the SYMM Architecture

The SYMM platform is built on a robust, modular architecture that leverages advanced concepts like the Diamond Standard for upgradeable contracts, MultiAccount management, and a suite of specialized facets to manage trading operations. This section serves as your comprehensive guide to understanding and working with the core components of SYMM. Whether you are creating a frontend or developing an additional utility for your project, this guide provides the foundational knowledge and practical instructions to get you started.

Overview

This section is designed to help developers understand how the SYMM ecosystem is structured and how its various components interact. You will learn about the architectural principles behind SYMM—including modularity, upgradeability, and separation of concerns—and how these design choices enable secure and efficient trading on the platform.

The upcoming subsections will cover the following topics:

  • Diamond Explainer: Explore the core of the SYMM architecture built on the Diamond Standard (EIP‑2535). This subsection will explain how the diamond pattern is used to create a flexible and upgradeable smart contract system, breaking down facets, selectors, and storage management.

  • MultiAccount Explainer: Understand the MultiAccount design, which allows users to manage sub‑accounts and delegate trading actions. Learn how this system provides both cross‑account and isolated account functionality, and the mechanisms behind access delegation and revocation.

  • Creating an Account: Walk through the process of creating a new sub‑account using the SYMM MultiAccount framework. This section will describe account initialization, role assignment, and the deployment of account contracts.

  • Depositing and Allocating: Learn how to fund your SYMM account by depositing collateral and then allocating those funds for trading. Detailed examples will illustrate how the allocation process works and how it affects your trading capacity.

  • Sending a Quote: Discover how to initiate a trade by sending a quote. This part covers the core functionality for setting up trade requests—including specifying the trading symbol, price, quantity, and risk parameters—and how these requests are processed by the system.

  • Closing a Quote: Understand the standard process for closing a position. This section details how a user can request a position close, the various states involved, and the roles of both Party A and Party B during the closing process.

  • Sending a Quote (Instant Open): This variant of the quote-sending process is designed for scenarios where immediate execution is desired. Learn how the Instant Open mechanism works, its benefits, and its trade-offs compared to the standard quote process.

  • Closing a Quote (Instant Open): Explore the instant close mechanism that allows positions to be closed immediately. This approach minimizes delays and is designed for users who need to react swiftly to changing market conditions.


Each subsection will provide a detailed explanation, function signatures, example usage, and event descriptions to help you build with SYMM confidently. By the end of this section, you will have a clear understanding of how to leverage the SYMM architecture to create, manage, and execute trades in a secure, modular, and upgradeable environment. Create docs for how to call things on the contract (so extracting stuff for sendQuote.. .etc etc.) Clarify things about maxfunding rate, price, slippage, include instant opens… how to format and call on contract, MultiAccount

Last updated