Placing a swap
Choose Quick or OPmode, enter what you will pay, request a quote, review it and approve in your wallet. The selected mode determines which amounts are estimates and which are fixed.
Quick
Quick routes swaps for listed xStocks and Backpack Securities tokens when a route is available. A Quick buy pays USDC or SOL, and a Quick sell pays out in either; the switch beside the amount chooses. A buy paid in SOL leaves 0.01 SOL in your wallet for network fees and token account rent. Its review shows the estimated output, the minimum received, the slippage tolerance (fixed at 0.50%), the route's trading fee and opcode's platform fee, which is 0%. It also gives the price per share and how far that sits from the share's own price; for a buy of a share that both xStocks and Backpack Securities list, the same amount is priced on the other issuer's token too, with a link to trade it. The estimated output can change within that limit; the minimum received is the number to check. Follow the saved transaction status afterward, and resolve an unknown result before starting another order. Your first swap walks through this flow.
Where OPmode is offered
OPmode runs on the ten markets where opcode has funded its own pool: NVDAx, SPYx, QQQx, GLDx, TSLAx, AAPLx, MSFTx, METAx, COINx and CRCLx. They are marked OP in the market list, and the ticket opens on OPmode there while the pool can quote. OPmode quotes only while a US market session is open, pre-market, regular, post-market or overnight, as confirmed by both the market calendar and the Pyth report; not at weekends or on exchange holidays. See Sessions and market hours. If the market is closed, a pool is paused or its on-chain reference is refreshing, the ticket says so and Quick remains available when a route exists. These ten original OPmode markets are currently paused. Additional xStocks or Backpack markets require explicit pool setup, funding and verified price support before OPmode can quote. Check the terminal for current pool availability.
| Market | Largest single order | Fixed 60-second window limit |
|---|---|---|
| NVDAx / USDC | 100 USDC | 500 USDC |
| SPYx, QQQx, GLDx, TSLAx, AAPLx, MSFTx, METAx, COINx and CRCLx / USDC | 20 USDC | 100 USDC |
Both limits are in USDC. The order limit applies to each order; the window limit is shared by all traders on that market. The settlement program enforces both on chain. Market accounts and pool addresses are on Verify it yourself.
Exact in, exact out
You always specify what you pay. On a buy that is an amount of USDC; on a sell it is a quantity of the stock token. OPmode answers with the exact amount you will receive. Both numbers are signed by opcode's quote key before you see them, and the program on chain will move those two numbers or nothing.
Step by step
Choose the side and the amount
Buy pays USDC, to six decimal places. Sell pays the stock token, in raw tokens: eight decimal places for xStocks, six for Backpack Securities. The ticket uses the selected mint's decimals. The fee is included in the amount you enter.
Ask for a quote
Get firm quote. opcode prices your exact amount against the pool as it is at that moment, from the Pyth reference verified and published on chain, whose source must be at most five seconds old. It checks the result against the market's on-chain limits, sets aside the output it would owe you, and signs. A market's on-chain reference keeps refreshing while someone has it open in the terminal or requests quotes, and stops after a minute without either. On a market that was idle, the ticket opens on Quick and moves to OPmode once a fresh reference is written, usually within seconds; if you chose OPmode yourself, it shows Pool unavailable until then.
If the ticket shows Pool unavailable instead, or the request comes back with a reason, nothing can be requested until that clears. When something goes wrong lists the reasons.
Review
The review panel is the contract. Read it top to bottom:
Row Meaning You pay / You receive · exact The two amounts that will move. Price USDC per raw token, fee included, and its distance from the reference in basis points. Fee · included Five basis points of what you pay, already inside the amount. Nothing is added on top. Slippage None. Exact amounts or no fill. Expiry When the signed quote stops being executable. A bar counts down the quote's life, up to 10 seconds; a quote is only returned if at least five seconds are left for your review. When it empties, the quote is dead and the button becomes New quote. Network fees and receipt rent are paid separately in SOL.
Sign and trade
Sign and trade hands the transaction to your wallet. Check that the two amounts match the panel, then approve. The ticket follows the transaction to Confirmed, usually within a second or two, then Final. Edit amount before you sign drops the quote; its reservation lapses when it expires.
The stages
- Order
- Priced
- Signed
- Confirmed
- Final
| Stage | What has happened |
|---|---|
| Order | You named a market, a side and an exact input. |
| Priced | The engine computed base, size, confidence cost, session and skew for that input from the pool's current state. |
| Signed | opcode's quote key signed the exact amounts, your wallet, and the expiry. opcode set aside, from the pool's available inventory, what it would owe you. |
| Confirmed | Your transaction confirmed. Both legs and the fee moved together, and a receipt exists on chain. |
| Final | The transaction is finalized on Solana and can no longer be rolled back. |
Selling
A sell is the mirror image. You enter raw tokens, you receive USDC, and the fee is five basis points of the tokens you pay. The price is the pool's bid, one half-spread below the pool's center price. If the pool is short of stock, the skew raises that center and works in your favour on a sell: it bids higher to get stock back.
Other limits
| Limit | Value |
|---|---|
| OPmode quote lifetime | up to 10 seconds; the program allows at most 30 |
| Quote requests | 12 per minute for each wallet, on each route |
| Unresolved orders | an OPmode order or pool transaction whose result is not yet known must be resolved before another OPmode quote or pool transaction from the same wallet |
| Smallest order | anything that yields at least one atom out after the fee |
| Pool inventory range | a trade may not push the pool's stock share of value outside 25–75%; trades that move it back are allowed |
Larger trades can be split within the fixed-window limit. Each piece is priced on the pool as your earlier pieces left it, so the skew moves against you as you go. Adjacent windows can permit a larger burst than a rolling-minute limit would.
Go deeperFollow one trade through the system
The board below is the one from the litepaper. Step through it to see which parts act, in what order, and where the fill feeds back into the next quote.
Pyth signs the underlying share's price. The program verifies it on chain, checks the market session it was signed in, and writes it as the OPmode market's reference.