InviaInviaDocs
GitHubLaunch app
Trading/Creating an offer

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

  1. 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.
  2. 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).
  3. Pick the payment mint. USDC, USDT, or SOL. This is locked at creation, takers must pay in this exact mint.
  4. 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.
  5. 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.
  6. Pick an expiry. Choose 1d, 3d, 7d, 14d, or 30d. After the deadline, anyone can call expire_offer to refund you.
  7. Sign the transaction. Your side is escrowed into a program-owned vault. The offer is now public on the Market tab.

Per-field reference

sidesell or buy. Cannot be changed after creation.
asset mintAny SPL token mint. No allowlist; you decide what to list.
payment mintUSDC, USDT, or SOL. Restricted by program-level check to these three.
sizeTotal amount of the asset side, in raw units. The maker side is escrowed up front.
price per tokenQuote in the chosen payment mint. Same per unit at any fill size.
min fillSmallest take a counterparty can submit. The final dust fill (== remaining_size) is always allowed regardless of min fill.
expiryAbsolute timestamp, capped at 30 days from creation by the program.

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:

Pricing rule of thumb

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.