Trading
fxdx is a decentralized exchange allowing trading without the need for a username or password. The platform uses an aggregate price feed which reduces the risk of liquidations from temporary wicks.

Adding a wallet

You can use either MyAlgo Wallet or AlgoSigner.
For MyAlgo Wallet, you can create your wallet in https://wallet.myalgo.com/.
In order to use AlgoSigner, you can install AlgoSigner Chrome extension in https://chrome.google.com/webstore/detail/algosigner/kmmolakhbgdlpkjkcjkebenjheonagdm?hl=en-US.
You can use any of them, but MyAlgo Wallet is preferred.

Connecting your wallet

After you have a wallet, you can connect your wallet by pressing the "Connect Wallet" button on the fxdx Trade page: https://algo.fxdx.exchange/trade.
After connecting a wallet, you can see the followings in the place of "Connect Wallet" button:
In the above image, "Q27I...ELQY" is the abbreviation of the selected account in the wallet and "..." button is "Settings" button.
By clicking this button, you can disconnect wallet, select another account in the wallet or update slippage tolerance value.

Sending assets

You will need to have ALGO in your Algorand account in order to start trading.
You can buy ALGO directly on Coinbase: https://www.coinbase.com/price/algorand.
Or you can receive ALGO from other accounts.

Opening a position

Click on "Long" or "Short" depending on which side you would like to open a position on.
  • Long position
    • Earns a profit if the asset's price goes up
    • Makes a loss if the asset's price goes down
  • Short position
    • Earns a profit if the asset's price goes down
    • Makes a loss if the asset's price goes up
After selecting your side, key in the amount you want to pay and the leverage you want to use, in the below example 100 ALGO worth 148 USD is being used to buy a 5x ALGO (Algorand) long position of size 736.30 USD
If you haven't opted in assets used in opening a position to your account, you should do it first.
And if you have never created a position for a certain asset and side (in the above example, ALGO Long), you should create a position app first. If you create it once, you don't have to create positions apps for the selected asset and side again. Once the position app is created, you can increase or decrease the position as you want.
In the above example, the "Entry Price" is $1.48 and the Liquidation Price is $1.21. Below the swap box you would also see the "Exit Price", which is the price that would be used to calculate profits if you open and then immediately close a position. The exit price will change with the price of the asset you are longing or shorting.
The trading fee to open a position is 0.1% of the position size, similarly there is a 0.1% fee when closing the position.
There is also a "Borrow Fee" that is deducted at the start of every hour. This is the fee paid to the counter-party of your trade. The fee per hour will vary based on utilization, it is calculated as (assets borrowed) / (total assets in pool) * 0.01%. The "Borrow Fee" for longing or shorting is shown below the swap box.
While there are no price impacts for trades, there can be slippage due to price movements between when your trade transaction is submitted and when it is confirmed on the blockchain. Slippage is the difference between the expected price of the trade and the execution price, this can be customized by clicking on the "..." icon next to your address at the top right of the page.

Minimum Price Change

Trades are priced based on the values provided by CoinGecko, and there can be a small delay in pricing compared to regular exchanges. To prevent bots from taking advantage of this delay, there is a minimum price change of 1.5% required for a position to be in profit.
This means that the mark price must move by more than 1.5% from the entry price for a position to be closed with a profit. Profits below this 1.5% price movement will be shown as a pending profit.
Note that this applies for increasing of an existing position as well. For example, if you open a position and the price has changed by less than 1.5%, increasing your position size during this time will forfeit any pending profits, the interface will show a warning for this case.
This requirement only lasts for 12 hours after a position is opened or increased.

Managing Positions

After opening a trade, you would be able to view it under your Positions list, you can also click on "Edit" to deposit or withdraw collateral, this allows you to manage your leverage and liquidation price.
The amount of profit and loss you make will be proportional to your position size. In this example, 146.26 USD has been used to buy 731.32 USD of ALGO. If the price of ALGO increases by 10%, the position would have a profit of 73.13 USD, if the price of ALGO decreases by 10%, the position would have a loss of 73.13 USD.
If a short position was opened instead, then if the price of ALGO decreased by 10% the position would have a profit of 73.13 USD, if the price of ALGO increased by 10%, the position would have a loss of 73.13 USD.
Leverage for a position is displayed as (position size) / (position collateral). If you'd like to display the leverage as (position size + PnL) / (position collateral), you can customize this by clicking on the "..." button next to your address.

Closing a Position

You can close a position partially or completely by clicking on the "Close" button.
For long positions, profits are paid in the asset you are longing, e.g. if you long ALGO you would get your profits as ALGO.
For short positions, profits will be paid out in the same stablecoin that you used to open the position, e.g. USDC or USDT.

Stop-Loss / Take-Profit Orders

You can also set stop-loss and take-profit orders by clicking on the "Close" button and selecting the "Trigger" tab.
After creating a trigger order, it will appear in your position's row as well as under the "Orders" tab, you can edit it the order and change the trigger price if needed.
Note that if you close a position manually, the associated trigger orders will remain open, you would need to cancel them manually if you do not want the order to be active when opening future positions.

Partial Liquidations

In the example, since only 146.26 USD worth of assets is used as collateral to open the position, there will be a price at which the loss amount is very close to the collateral amount.
This is the Liquidation Price and is calculated as the price at which the (collateral - losses - borrow fee) is less than 1% of your position's size. If the asset's price crosses this point then the position will be automatically closed.
Due to the borrow fee your liquidation price will change over time, especially if you use a leverage that is more than 10x and have the position open for more than a few days, so it is important to monitor your liquidation price.
If there is any collateral remaining after deducting losses and fees, then the corresponding amount would be returned to your account.

Pricing

There is no price impact for trades on fxdx, so you can execute large trades exactly at the mark price. Since the protocol serves as the counter-party, there is a small spread for entering and exiting trades.
The mark prices are displayed next to the market name, long positions will be opened at the higher price and closed at the lower price while short positions will be opened at the lower price and closed at the higher price.
The chart will indicate the average of the two mark prices.