Limit order — form variations

A — Persistent mode toggle
Market | Limit tab always visible at top of swap
Baseline
Swap
Market
Limit
Sell
500
$
USDC
≈ $500.00
Buy
Ξ
ETH
At limit price
When ETH price reaches
$2,800
Falls to ↓
Current: $3,421 · −18%
1d
7d
30d
Never
Min. received 0.178 ETH
Protocol UniswapX
Set limit order
Familiar pattern (Binance/OKX) Mode always accessible Toggle adds UI weight to market swap Limit is a minority action — prominent placement may mislead Farcaster wallet is not a trading app
B — Price impact bridge
Impact warning surfaces limit order as the fix — solves NEYN-11039 + 11022 together
Proposed
Swap
Sell
10,000
$
USDC
≈ $10,000.00
Buy
6,820
D
DEGEN
−31.8% price impact
High price impact. You'll receive far fewer tokens than you're selling in value. This pool has low liquidity — your trade moves the price.
Set a limit order instead →
Wait for a better price. Your order fills automatically when DEGEN reaches your target — no slippage.
Swap anyway at market price
Swap anyway
Set limit order
Solves both issues in one surface Limit order introduced at highest intent moment Warning is clearer — amount loss explained, not implied Danger CTA hierarchy discourages reckless confirm Requires threshold logic (when to show bridge vs. normal warning) Threshold TBD — suggested: show at >10% impact + limit eligible pair
B2 — Limit form (after bridge tap)
Pre-filled from market swap context, direction inferred
Proposed
Limit order
Sell
10,000
$
USDC
Buy — at target price
≈ 10,150
D
DEGEN
Buy when DEGEN price falls to
$0.00098
↓ Below
Current market: $0.00141 · −31%
1d
7d
30d
Never
Fills offline via UniswapX when DEGEN reaches $0.00098. No gas unless filled.
Review & sign
Pre-filled target reduces setup friction Direction auto-inferred (below = buy dip) Offline fill explained inline — trust signal Target price pre-fill logic needs design rule (current market? −30%?) Suggested default: current market price, user edits
C — Sign & confirm preview
Pre-signing summary before UniswapX payload is created
Supporting state
Review order
10,000 USDC
Sell when DEGEN falls to $0.00098
≈ 10,150 DEGEN
Min. received · based on 1% tolerance
Trigger price $0.00098 / DEGEN
Direction Falls to ↓
Expires 7 days
Protocol UniswapX
Fill Offline · no gas
Cancel Before submission only
Signing creates an order, not a transaction. Funds are reserved until filled or expired.
Sign order
Surfaces all UniswapX constraints clearly Cancel caveat set correctly (pre-submission only) "Offline fill" framing builds trust Out of scope this pass: gas estimation, wallet selector, network mismatch states

Open orders — history & cancel

D — Orders history
Accessible from wallet or swap history
Supporting state
Limit orders
+ New
Open
History
USDC → DEGEN
Buy 10,000 USDC · target $0.00098 · expires 6d
Open
Cancel
USDC → ETH
Sell 500 USDC · target $2,800 · expires 5d
Open
Cancel
ETH → USDC
Sell 0.5 ETH · target $3,800 · filled 2h ago
Filled ✓
Open orders can be cancelled before they're submitted to the network.
Cancel affordance gated to open orders only Filled/expired clearly distinguished Out of scope: pagination, submitted-cannot-cancel edge state, push notification on fill
E — Unsupported token fallback
Token not on limit order allowlist — price alert + normal swap path
Edge state
Swap
Sell
1,000
$
USDC
Buy
W
WIF
Limit orders not available for WIF. This token isn't on the supported list yet. You can swap at market price, or set a price alert.
🔔 Price alert instead
Notify me when WIF hits a target
Set →
Price impact −6.2%
Swap at market price
Doesn't dead-end user — offers price alert as value-add Market swap still available, not blocked Price alert feature is a nice follow-on if not already in product Alert path needs its own design (out of scope this pass)
Proposal — pending approval
Ship Options B + B2 + C as the primary flow: high price impact warning surfaces the limit order CTA (NEYN-11039 + 11022 together), tapping it pre-fills the limit form, review/sign screen surfaces all UniswapX constraints. Mode toggle (Option A) is deprioritised — it adds UI weight to a minority action. Option D (orders history) is required but not blocking. Option E (unsupported token) needed for completeness.
Out of scope this pass: gas estimation, wallet selector, network mismatch, push notification on fill, submitted-order cancel (v1 constraint), price alert feature, pagination in orders history.