Skip to content

Trading and wallet actions

Petri trades capped futures on the RAMX and NANDX indexes. Every order is quoted first, and Petri asks before it signs.

Question Answer
What can I trade? A long or a short on a range of one market’s index, in lots.
How much can I lose? What you pay up front. A long pays its price; a short puts in the rest of the range’s value. No liquidations, no margin calls.
What can I make? $0.01 per lot per index point. A long collects the points the index settles above the low end, up to the high end; a short collects the points below the high end, down to the low end.
When does it settle? At the market’s expiry, on the oracle’s value of the index. You can close before. See Settlement.

Three options set the ends of the range:

Option Sets Default
-x, --leverage <X> The losing end: entry minus entry ÷ X for a long, entry plus entry ÷ X for a short. 10
--to <PRICE> The winning end. The end of the market’s suggested range, where the index can reach by expiry (2σ).
--range <LO-HI> Both ends, for example 90-120. Use it instead of -x and --to.

Higher leverage puts the losing end closer to the entry. The position costs less, and it is lost after a smaller move.

Name the lots, petri long ramx 100, or spend about an amount of USDC, petri long ramx --usd 50. Use one or the other.

Terminal window
petri quote long ramx 100
petri quote short nandx --usd 50 -x 5

petri quote prices an order exactly as petri long or petri short would send it. It takes the same options and signs nothing.

Long 100 RAMX Oct 26 · range 87–135 · 10x
Entry 97.37 average
Per point $1.00 from 87 to 135
You pay $10.37, the most you can lose
Pays up to $48.00 if RAMX settles at 135 or above
Deposit $10.37 from your wallet into the market first
  • Entry is the average price the order fills at.
  • Per point is what the position gains for each index point inside the range.
  • You pay is what goes in now, and the most you can lose.
  • Pays up to is the most the position pays at settlement.
  • Deposit appears when the market doesn’t hold enough of your cash. The order moves that much from your wallet in the same transaction.
  • Netting appears when the order cancels out a position you hold on exactly the same range, and shows the cash it frees.
Terminal window
petri long ramx 100 # 100 lots at 10x on the suggested range
petri long ramx 100 -x 5 --to 130 # 5x, the range ending at 130
petri long ramx 100 --range 90-120 # name the range
petri long ramx --usd 50 # spend about $50
petri short ramx 100 # 100 lots short at 10x
petri short nandx 50 -x 20 --to 80 # 20x, the range ending at 80

petri long buys a range and petri short sells one. buy and sell are other names for them.

Without --limit, the order fills now at the book. It fills no worse than the quote plus --slippage percent (default 2). Nothing of it rests on the book. If nothing fills inside that limit, Petri tells you, and you can quote again.

Example: a short of 100 lots on 87–107 at an entry of 97 puts in $10.00 ((107 − 97) × $1.00). It collects $1.00 for every point RAMX settles below 107, down to 87. At 90 it pays $17.00, a $7.00 gain; at 107 or above it pays nothing.

Terminal window
petri long ramx 100 --limit 99 # bid at 99.00; what doesn't fill now rests
petri short ramx 100 --limit 104 --post # only rest, never fill now

--limit <PRICE> sets the entry. Whatever can fill at that price now fills, and the rest rests on the book until the price gets there or you cancel it. With --post the order only rests: if any of it would fill now, Petri refuses it. A resting order holds the cash it would put in at its own price. petri positions lists it under Orders.

Terminal window
petri close ramx 78 # close position #78
petri close ramx 78 --lots 10 # close 10 lots of it
petri close ramx-nov26 all # close every position in that market
petri close ramx 78 --keep-cash # leave the proceeds in the market

petri close sells a long, or buys back a short, on the position’s own range at the book. Position numbers come from petri positions. Petri quotes the close and asks first. By default it sends the proceeds to your wallet in the same transaction; --keep-cash leaves them in the market as free cash. --slippage (default 2%) limits how much worse than the quote the close may fill. --lots (or -n) closes part of one position, and the rest keeps its range.

Use petri close to close a position. A short on a different range is a new position, not a close.

Terminal window
petri cancel ramx 3 # cancel order #3
petri cancel ramx all # cancel every resting order in that market

Order numbers come from petri positions. Cancelling frees what the order held: its cash goes back to your free cash in that market.

Terminal window
petri deposit ramx 100 # move 100 USDC from your wallet into the market
petri withdraw ramx 25 # move 25 USDC of free cash back to your wallet
petri withdraw ramx all # move all of it back

You rarely need petri deposit: an order takes what it needs from your wallet. petri withdraw moves free cash, the cash no order holds, back to your wallet. Use it after cancelling orders, after petri close --keep-cash, and after settlement.

  1. Quote. Petri reads the market, checks that it belongs to the trusted futures program, and quotes the order.
  2. Confirm. It shows the quote and asks. --yes skips the question.
  3. Sign and send. It signs with your wallet and sends the transaction. --route decides who pays the Solana network fee: your wallet (local) or the futures API’s sponsor (sponsored). A sponsored transaction is checked before Petri signs it. See Who pays network fees.
  4. Result. Petri prints what filled, the entry, and what you paid or received.

Futures markets charge no trading fee.

Oracle contributors post USDC bonds on sources, opening prints and updates with petri oracle. Each write is reviewed and confirmed (or --yes), then signed by your wallet, which also pays its fee. --simulate runs it without signing.

Terminal window
petri oracle collateral deposit 25 # bond collateral from your wallet
petri oracle sources support ramx --source <SOURCE> --stake 5 --simulate

See the Command reference for every oracle write.