Costs and rent
Uncross charges no trading fee. The auction account has a protocol_fee_bps field, but the program always sets it to 0 and never reads it. What an order costs is Solana’s own charges: a transaction fee, and rent for the accounts it creates.
On devnet all of this is paid in free test SOL. The faucet’s 0.02 SOL grant covers several orders.
Per order
Section titled “Per order”| Item | SOL | Returned? |
|---|---|---|
| Order account rent (111 bytes) | 0.00121412 | No, by design (below) |
| Transaction fee | 0.000005 base fee per signature | No |
| Your token accounts for the ticker and test dollar, if they do not exist yet | one-time rent | Created by the faucet grant, at the faucet’s expense. The order transaction creates any that are missing, at yours. |
The app warns when a wallet’s balance falls below 0.005 SOL, and says each order needs about 0.002 SOL for its account and fees. The app’s transactions set no priority fee.
Why order accounts are never closed
Section titled “Why order accounts are never closed”Each order creates an account that records the owner, side, limit, quantity, escrow and filled quantity. Every settlement transaction touches it. So after the auction itself has been closed and its record deleted, the order account still lets any participant rebuild their own outcome from chain:
- the fill, from the account;
- what they paid and got back, from the settlement transfers in its transaction history.
The app’s receipts and Orders page rely on exactly this. They start from the wallet’s order accounts, and a receipt for a closed auction is marked “rebuilt from the settlement transaction” (Your receipt).
Closing order accounts to return their rent was designed as an optimisation, and cancelled on 23 Sept 2026 for this reason. The program’s source says no instruction should be added to close one. The 0.00121412 SOL per order is the price of the guarantee.
Per auction
Section titled “Per auction”Opening an auction creates the auction account (2,880 bytes) and two vault token accounts. Their combined rent is about 0.0183 SOL, paid by whoever opens it. That is the keeper, or the faucet service for auctions opened from the app.
close_auction returns all of it to the recorded payer once the auction is settled and both vaults are empty (Auction lifecycle). With that, opening, crossing, settling and closing an auction costs about 0.00002 SOL net, down from about 0.018 SOL before the reclaim existed.
Auctions created before the reclaim upgrade on 16 Sept recorded no payer. They can never be closed, and their rent stays locked. How much, and the 119 auctions a keeper bug stranded, are in Honest limitations.
Sources: uncross/programs/uncross/src/state.rs (Order and its comment, Order::SIZE), lib.rs (protocol_fee_bps = 0, close_auction), README.md, docs/submission-draft.md, docs/phase1.md (base fee), web/src/components/OrderForm.tsx, web/src/lib/tx.ts, uncross/scripts/faucet.mjs.