Trade on Bonfida

Step by step of your first trade on a Serum DEX

Serum (SRM) is a decentralized exchange (DEX) that is built on the Solana blockchain and is completely permissionless. Serum is open-source and allows for unprecedented speed and low transaction costs to decentralized finance. Experience is similar with trading with a centralized exchange (CEX), but with a few caveats. We will guide you between a few examples of trades on Serum DEX.

Anyone can set up their own Serum-based DEX GUI or embed the Serum Swapper into their UI. For this example we will be using Bonfida DEX. You can see a list of available GUI HERE

You need a SPL wallet and enough SOL for transactions fees. Try to keep it above 0.1 SOL at all times.

Step 1: Connecting your wallet The first difference you will notice is the need to connect your wallet and approve transactions. Every interaction with the dex will need your approval to proceed. Most sites will have multiple wallets available, you can see a list of our recommended wallets HERE

When connecting your wallet you will have the option to automatically approve transactions from the GUI, you won't be able to read the instructions given, but it will skip a few steps like settling depending on the wallet being used.

Step 2: Check your balances Once connected you will be able to see your available balances of that pair on the left side of the page.

  • Token account: Your address of that token, if you have multiples you can select which one from the drop down menu.

  • Wallet Balance: The funds available on your wallet.

  • Unsettled Balances: Funds on the intermediary wallet that interacts between you and the DEX, be an order filled or canceled the funds will need to be settled back to your wallet.

  • Deposit Button: Will show you a window with the token address to send funds to if needed, same as your wallet.

  • Settle Button: Will transfer your funds from the intermediary wallet to your token address.

Step 3: Make an order Similar to a CEX you will be able to create Buy and Sell orders. As an example, a sell order of 2.5 SRM at a price of 8 USDC for a total of 20 USDC will be created:

You can populate the fields directly by clicking directly on the orderbook

Similar to a CEX, on POST only orders your order will not be allowed to take, if it would cross the book it will be canceled instead. IOC orders that would not immediately trade will be canceled.

At this point your funds are no longer in your wallet and will now appear as open orders on the DEX. If the order was to be filled, your funds will be on the intermediary wallet as "unsettled balances" until you settle it back to your wallet.

Step 4: Settling your orders Once filled or canceled your funds will show as unsettled balances. For this example the order will be canceled to show how it looks:

If wanted to finish your trades here, one could use the settle button to recover the funds from the intermediary wallet. For this example the order will be remade so that it gets immediately filled. As the funds are already on the intermediary account no funds will leave your wallet. In case the order was changed to 3 SRM it will need at least 0.5 available and those will leave your wallet when the order is created.

The order will start at the best ask/bid and move up the orderbook until the order is filled. Leftovers at your price will open an order.

Order was filled immediately, so USDC was received and appears as unsettled balances:

Now that all trades are done you can settle them back to your wallet

If a market pair isn't officially listed on the GUI you must add it as a custom market

Last updated