Tutorial

Your first trade

In this tutorial you buy Yes shares in an open market and then sell part of them back for ETH. You will see one ETH purchase become a complete set plus a swap, leaving you Yes shares and Invalid shares, and you will see the sale spend some of that Invalid to pay out ETH.

Before you start

Trading is an exchange for Statoblast outcome shares: each market trades the Yes and No shares of one SecurityPool in a constant-product trading pool.

To practise without a wallet, run bun run app:serve:trading and open http://localhost:4163/?simulate=1&genesis=yes#/market/0x4Ea1aF33973aBC2f51b8AEA6aAAD041bCb88d779. The browser-local simulator is labeled at the top of the page, starts with one funded market, and never reflects live chain state; the screenshots below come from it. To trade for real, open the UI on a supported network as described in Configure the Trading UI and connect a wallet.

Choose a market

The simulator link above opens the market directly. On a live network, paste a SecurityPool address into Search markets and select Open security pool, or follow a shared market link. Opening a market saves it as a favorite. The Markets tab lists registered markets with trading pools in the selected universe with prices if not Invalid, liquidity, and closing time; select a title to open it. Favorites appear first, and the star removes a market from favorites.

The market card for Will this resolve? on the Markets tab, marked Trading open, with a Yes 50% and No 50% conditional price, 0.0089 ETH liquidity, and its closing date.
Markets. Only markets whose badge reads TRADING OPEN accept new trades.

Set your protection

Open Settings in the header. Under Trade settings, choose a Slippage tolerance (0.01% to 5%) and how long a transaction stays valid (Transaction valid for, 1 to 1440 minutes). A transaction reverts if the price moves further than the tolerance or it is included after its deadline, so tighter values mean fewer surprises and more reverts. The defaults, 0.5% and 20 minutes, are fine for this tutorial.

The Settings menu with Trade settings: slippage tolerance presets 0.1%, 0.5%, 1%, and 3% with 0.5% selected, and validity presets 10, 20, and 60 minutes with 20 selected.
Trade settings. Every quote repeats the current values, for example Slippage 0.5% · valid up to 20 min.

Buy Yes

  1. In the market's Trade tab, select Buy and Yes.
  2. Enter 0.002 in You pay. This small simulated trade includes the pool’s minimum minting fee; review its negative profit estimate before continuing. The estimate appears below the field: You receive ≈ shows the Yes and its payout if the question resolves Yes (0 ETH if it resolves No), with your Invalid insurance beside it. Below them are Average price, Profit if the question resolves Yes, and Minimum received, and Trade details lists the Trading fee.
  3. Check the Price impact: it reads 4.93%, with a note that smaller trades get a better average price. Larger impacts need a confirmation or are refused; the Trading configuration lists the thresholds.
  4. Select Buy Yes and confirm the single enterPosition transaction in your wallet. The client checks the price again before the wallet opens.
The Trade tab with Buy and Yes selected and 0.002 ETH entered. The estimate shows Yes received, outcome payouts, Invalid insurance, average price, and minimum received above the Buy Yes button.
A Yes purchase. The bar at the top of the estimate shows how far the purchase moves the conditional price.

When the transaction confirms, the Yes and Invalid balances under Your position on the market page go up. The ETH became complete sets; the router sold their No for more Yes and sent you all the Yes plus the Invalid. Your Invalid insurance equals the number of complete sets, not the larger Yes total, and you hold no new No.

Sell Yes

  1. Select Sell and Yes, then enter 0.001 in Shares to sell. The 25%, 50%, and Max buttons fill in larger amounts.
  2. Read the estimate: You sell, You receive ≈ in ETH, Average price, Minimum received, and Invalid used.
  3. Select Sell Yes and confirm. No approval is needed: the sale is one ShareToken transfer of your Yes and Invalid to the router.
The Trade tab with Sell and Yes selected and 0.001 Yes entered. The estimate shows 0.000995 Yes sold for about 0.000483 ETH, a 48.52% average price, a minimum received, a maximum sold of 0.001 Yes, 0.0005 Invalid used, and a 2.8% price impact, above an enabled Sell Yes button.
A Yes sale. Invalid used is the insurance the sale spends: it is burned with matching Yes and No as complete sets, which pay out the ETH.

When it confirms, the ETH is in your wallet, your Invalid has dropped by the amount used, and any Yes the router did not need has come back. If you ask to sell more than your Invalid can insure, the ticket offers the largest amount you can sell now; Exit an insured position covers that case and Why early ETH exits are limited explains the bound.