Buy and sell

Trading

You buy with USDC and sell back to USDC.

You trade at trade.perptokens.xyz with any Solana wallet that supports the Wallet Standard. The app builds each transaction and your wallet signs it.

buy (mint)→hold→sell (redeem)

Buy

A market buy mints new tokens. You deposit USDC, which is the only collateral accepted. In the same transaction, the product opens whatever positions its methodology calls for on the underlying markets and mints tokens to your wallet. How many you get is based on the product's value, after your own execution cost and the mint fee.

You also set a minimum number of tokens to receive. If the trade would give you fewer, the transaction fails and nothing happens.

Sell

A market sell redeems tokens. You burn them and get USDC back in the same transaction, while the product closes the matching share of its positions on the underlying markets. You can redeem any amount above the product's minimum, so selling part of your balance works too.

As with buying, you set a minimum USDC amount. If the payout would come in under it, the transaction fails and nothing happens.

Instead of trading right away, you can place a buy or sell limit order on any product. You set a price on the underlying market, and your USDC or tokens sit in escrow until the order fills. You can cancel at any time and get back whatever hasn't filled. Once it fills, you get your tokens or USDC.

When a trade can fail

A mint or redeem can be rejected when:

  • it would push the product past its size limits (a mint that would exceed the product's maximum size fails in full; there is no partial fill);
  • the amount is below the product's minimum;
  • the underlying market's price is stale or halted;
  • the underlying order cannot fill within its price bound;
  • your minimum-out is not met;
  • the product has been set to reduce-only (mints stop) or disabled (mints and redemptions stop).