---
title: PreviewQuote
description: Price a trade without persisting it or requiring addresses.
openapi: "openapi.json POST /v1/quote/preview"
---
```
rpc PreviewQuote(PreviewQuoteRequest) returns (QuotePreview)
```
Same pricing as [`GetQuote`](/api-reference/get-quote), minus the persistence. No quote hash is produced and nothing can be deposited against the result. Use it for the amount field of a swap form.
## Request
Source chain name, lowercase.
Destination chain name, lowercase.
Source token address.
Destination token address.
Which side of the trade `amount` fixes and whether the output is guaranteed: `TRADE_TYPE_EXACT_INPUT`, `TRADE_TYPE_EXPECTED_OUTPUT`, `TRADE_TYPE_EXACT_INPUT_GUARANTEED_OUTPUT`, or `TRADE_TYPE_EXACT_OUTPUT`. `TRADE_TYPE_UNSPECIFIED` is rejected. See [Trade types](/concepts/trade-types).
For exact input, the amount in the source token's base units. For expected output, the desired output in the destination token's base units.
Native asset to deliver on the destination, in base units. Empty string for none.
Floor for the destination swap leg, in basis points.
Floor for the source swap leg, in basis points.
Referrer addresses and their basis points, so the preview matches what the quote will charge.
There is no `recipient` or `refund_address`: nothing is bound.
## Response
Input amount in the source token's base units. Echoes the request for exact input; the solved input for expected output.
Expected output, net of every fee.
Floor implied by the applied slippage.
Slippage actually applied.
Itemized costs, identical in shape to a quote's.
True when the pair resolves to a same-chain swap rather than a bridge.
Notional input value in USD micros. Optional.
Notional output value in USD micros. Optional.
Estimated seconds from deposit to fulfillment, the median over recent orders on the same chain pair and route type. Absent when there is no history and no configured default for the destination chain.
## Notes
Preview and quote use the same pipeline, so the numbers agree at the same instant. They diverge only as the market moves between the two calls, which is why a confirmation screen should show a freshly fetched quote rather than the last preview.
Errors are identical to [`GetQuote`](/api-reference/get-quote#errors).