How to Add a Market as a Solver
Last updated
Last updated
To add a new market as a solver, first add the new price source to the Muon Oracle. This involves modifying the function to fetch prices from the new source and then integrating it with the existing price fetching function. The repo to modify can be found. Here's the relevant code to modify if the market isn't available on Binance, Kucoin or MEXC:
Once the necessary changes are made to the Muon Oracle, the next step is to create a pull request to integrate these changes into the SYMMIO codebase. Ensure that your pull request includes:
A detailed description of the changes made.
Any dependencies or configurations required for the new symbol.
Update your solver API endpoints to include the new symbol. This ensures that the frontends are made aware of the new markets you've made available for users to trade.
Example:
To add a new market for NEWUSDT:
Step 1: Announce the Delisting
The first step in de-listing a market is to communicate the upcoming changes to both frontends (FEs) and users. This includes announcing:
The specific markets that will be delisted.
The date when the delisting will take effect.
Any other relevant information such as the last date to open new positions in these markets.
Step 2: Stop Accepting New Positions
After the announcement, you should ensure that no new positions are accepted for the markets that are scheduled for delisting. This can be internally achieved by modifying the relevant API endpoints so that these markets are no longer accepting quotes.
Step 3: Activating the Emergency Status
To do this:
Activate Emergency Status: Use the contract to activate the emergency status for the relevant markets. This should be done once the delisting date is reached or as part of the delisting process.
This step is currently permissioned, but the goal is to make it permissionless. For now, an admin of the SYMMIO contract can add a new market by calling the function with all the required parameters.
In the current implementation, there is a that allows the admin to activate and deactivate the emergency status of your partyB. This emergency status enables you to manage the closing of existing positions for the delisted markets.
Close Positions: Existing positions should be closed using the Muon market price as the settlement price. After delisting, the Muon market price will default to the settlement price of Binance. You typically have a one-month window after the delisting to ensure all positions are closed in an orderly fashion. Information on how the settlement price is calculated can be found :