Skip to main content

Frontends

The GMX protocol consists of smart contracts deployed on blockchains.

Users can interact directly with the smart contracts using blockchain explorers such as Arbiscan and SnowTrace.

The GMX frontend repository provides code to simplify contract interaction and to view protocol information and can be deployed by any community member.

Community deployed instances of the GMX frontend:

Accessing https://gmxio.x requires the Unstoppable Extension, more information on how this works can be found at https://unstoppabledomains.com/learn. After downloading the extension, click on the https://gmxio.x link to access the IPFS hosted site. If you use Brave Browser or Opera the link should be accessible without the need for an additional extension.

Pilot version of GMX frontend on dappOS: https://gmx.dappos.finance/trade.

Running a Frontend

The GMX frontend can be run locally, instructions for this can be found in the GMX frontend repository. Alternatively, services such as Fleek can be used, instructions for this can be found in the service's docs, e.g. Fleek docs.

GMX V2 orders have a UI Fee, a receiving address can be passed in and would receive fees on execution of the order. These fees are charged on top of the base fees.

The GMX interface allows for the configuration of a UI fee receiver and custom RPC URLs. This can be done by adding specific variables to the .env file in the project's root directory.

UI Fee Receiver

To set up the UI fee receiver in the GMX interface, add the REACT_APP_UI_FEE_RECEIVER variable to the .env file. This variable should be set to the address of the account that will receive the UI Fees. Note that the interface code only supports setting uiFeeReceiver value for orders, custom code would be needed if it is desired to set this value for deposits and withdrawals.

The format should be as follows:

REACT_APP_UI_FEE_RECEIVER=your_account_here

Custom RPC URLs

To set up custom RPC URLs for Avalanche and Arbitrum in GMX interface, add the REACT_APP_ARBITRUM_RPC_URLS and REACT_APP_AVALANCHE_RPC_URLS variables to the .env file. These variables should be set to arrays of the RPC URLs you want to use.

The format should be as follows:

REACT_APP_ARBITRUM_RPC_URLS=["https://arb-rpc-url-1", "https://arb-rpc-url-2"]
REACT_APP_AVALANCHE_RPC_URLS=["https://avax-rpc-url-1", "https://avax-rpc-url-2"]