Buying
- Open the token’s detail page from the homepage’s Live launches strip, the Explore page, or directly via
/token/<curve_address>. - Click the Buy tab in the trade panel.
- Type the TON amount you want to spend. The panel shows a real-time quote: the Jettons you’ll receive (after the 1% curve fee) and the implied price-per-Jetton.
- Click Buy. TonConnect prompts you to sign a transaction sent to the curve contract.
- Approve in your wallet. The transaction sends TON to the curve, the curve mints Jettons to your wallet via TEP-74 transfer, and the trade is indexed within ~10 seconds.
- Destination: the curve contract address (per-token, derivable from the launch).
- Amount: the TON you typed plus a small gas buffer (~0.15 TON).
- Payload: an
op::buymessage body with the TON amount.
Selling
Selling on the curve uses the standard TEP-74 Jetton transfer flow with atransfer_notification payload that the curve recognizes:
- From the same token detail page, click the Sell tab.
- Type the Jetton amount you want to sell. The panel shows the TON you’ll receive (after the 1% fee).
- Click Sell. TonConnect prompts you to sign a TEP-74 Jetton transfer.
- Approve. Your Jetton wallet sends Jettons to the curve’s wallet; the curve receives the
transfer_notification, computes the TON owed, and sends it back to you.
- Destination: your own Jetton wallet (this is how TEP-74 transfers work — you message your own wallet, not the curve directly).
- Amount: ~0.2 TON for gas (the value here is not the trade size; the Jetton amount is in the payload).
- Payload: an
op::transferbody with the Jetton amount and the curve’s wallet as the destination.
Reading the chart
The token detail page renders a live bonding curve chart and a current-position marker:- Y-axis: TON price per Jetton. As the curve fills, price climbs.
- X-axis: TON collected (real reserves), from 0 to the 1,000 TON graduation target.
- Marker: where the curve currently sits.
- Progress bar: the same data shown as a percentage to graduation.
virtual_ton = 300 TON, virtual_token = 1.010B). See Bonding curve mechanics for the math.
What can fail
- Quote endpoint returns 503. The indexer hasn’t enriched the curve config yet (only happens in the first ~60 seconds after launch). Refresh in a moment.
- Signing rejected by your wallet. Your wallet checked the destination, amount, or payload and refused. Try again or switch wallets.
- Trade lands but UI doesn’t update. The indexer is a few seconds behind chain. Refresh after ~30 seconds.
- TON insufficient for gas. Top up by 0.2 TON and retry.