Treat the quote as temporary. Separate permission from exchange. Use explicit failure states.

01

Treat the quote as temporary

The interface should explain when a quote was obtained and when it needs refreshing. Changes in route or received amount should be visible before signing.

02

Separate permission from exchange

A token allowance and a swap are different actions. Make approval scope understandable and provide a clear continuation after an allowance transaction completes.

03

Use explicit failure states

Expired quotes, insufficient balances, rejected signatures and failed execution need different recovery guidance. A generic error message hides the decision the user needs to make.

Discuss your context