Creating an offer
Open the app, click + New Offer, and walk through the form.
Submitting signs one Solana transaction that opens the offer accounts and
locks your side into escrow. From there the offer is public and anyone can
fill it.
Step by step
- Pick a side. Sell means you deposit tokens and want payment in return. Buy means you deposit payment and want tokens in return. The side is locked at creation.
- Paste the asset mint. The app fetches token metadata, your balance, and the live Jupiter aggregated mid price (covers Raydium, Meteora, and the pump.fun AMM in one number).
- Pick the payment mint.
USDC,USDT, orSOL. This is locked at creation, takers must pay in this exact mint. - Enter size and price per token. The app shows your delta versus the current Jupiter mid in real time so you can sanity-check the quote.
- Set a min fill. Defaults to 5% of total size. Smaller min fills make the offer easier to clear; larger min fills filter out dust takers.
- Pick an expiry. Choose 1d, 3d, 7d, 14d, or 30d. After the deadline,
anyone can call
expire_offerto refund you. - Sign the transaction. Your side is escrowed into a program-owned vault. The offer is now public on the Market tab.
Per-field reference
What gets escrowed
For a sell-side offer the program transfers your full token balance for the listed size into the asset vault at creation time. You receive payment incrementally as takers fill. Cancelling or expiring returns whatever remains in the vault.
For a buy-side offer the program transfers your full payment notional
(size * price_per_token) into the payment vault at creation time. You
receive tokens as takers fill. Cancelling or expiring returns whatever
remains.
After creation
The offer is public on the Market tab the moment the create transaction confirms. There is no review queue and no admin step. You can:
- Cancel any time before the deadline,
cancel_offerreturns the remaining vault balance and closes the accounts. No fee. - Watch fills come in, the app subscribes to the offer account and
decrements
remaining_sizeas each taker fills. - Let it expire, once
expires_atpasses, the offer cannot be filled and any keeper bot can sweep it for the rent bounty.
Quoting flat to mid clears slow but guarantees you don't leave money on the table. Quoting 1–2% below mid (for sellers) or above (for buyers) usually clears within minutes on liquid pairs. The Jupiter delta in the app shows the live spread.