<!-- tempo-docs-context -->
> Source: [/docs/routes/quotes](https://tempo.xyz/developers/docs/routes/quotes.md)
> Section: [Routes](https://tempo.xyz/developers/docs/routes.md). Accept cross-network deposits, quote transfers, and track delivery. Routes is in beta; see the introduction for access.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

# Quotes and fees

Quote the exact payment before requesting a signature or showing deposit instructions. The supported route directory identifies possible paths; the quote gives terms for the selected amount and recipient.

## Get a quote

Choose a flow, click **Try**, and enter the source asset, destination asset, amount, and recipient where required. Use an API key with access to Routes. Review the returned amounts before creating the transfer or deposit address.

### Transfer

`GET /v1/routes/transfers/quote`

Quote transfer

[API reference](https://tempo.xyz/developers/docs/api/routes/transfers#quoteroutestransfer) — request parameters, authentication, and response schema. The examples below use editable sample values.

Requires a [Tempo API key](https://tempo.xyz/developers/docs/api/console/api-keys). Replace `YOUR_API_KEY` before running this request.

**cURL**

```bash
curl 'https://api.tempo.xyz/v1/routes/transfers/quote?amount=1000000&destinationChain=base&destinationToken=usdc&mode=exactSource&recipient=0x1111111111111111111111111111111111111111&sender=0x2222222222222222222222222222222222222222&sourceChain=tempo&sourceToken=usdce' \
  --header 'tempo-api-key: YOUR_API_KEY'
```

**TypeScript**

```ts
fetch('https://api.tempo.xyz/v1/routes/transfers/quote?amount=1000000&destinationChain=base&destinationToken=usdc&mode=exactSource&recipient=0x1111111111111111111111111111111111111111&sender=0x2222222222222222222222222222222222222222&sourceChain=tempo&sourceToken=usdce', {
  headers: {
    'tempo-api-key': 'YOUR_API_KEY'
  }
})
```

### Deposit address

`GET /v1/routes/deposit-addresses/quote`

Quote deposit

[API reference](https://tempo.xyz/developers/docs/api/routes/deposit-addresses#quoteroutesdepositaddress) — request parameters, authentication, and response schema. The examples below use editable sample values.

Requires a [Tempo API key](https://tempo.xyz/developers/docs/api/console/api-keys). Replace `YOUR_API_KEY` before running this request.

**cURL**

```bash
curl 'https://api.tempo.xyz/v1/routes/deposit-addresses/quote?amount=1000000&destinationToken=usdt0&sourceChain=tron&sourceToken=usdt' \
  --header 'tempo-api-key: YOUR_API_KEY'
```

**TypeScript**

```ts
fetch('https://api.tempo.xyz/v1/routes/deposit-addresses/quote?amount=1000000&destinationToken=usdt0&sourceChain=tron&sourceToken=usdt', {
  headers: {
    'tempo-api-key': 'YOUR_API_KEY'
  }
})
```

## Choose which amount to fix

For a transfer, choose which side determines the quote:

| Your application specifies | Amount mode | `amount` uses |
| --- | --- | --- |
| How much to send | `exactSource` | Source token base units |
| How much the recipient should receive | `exactDestination` | Destination token base units |

Review the returned amounts and minimum destination amount before continuing.

For a deposit address, quote the source chain, source token, destination token, and amount. Check the [endpoint reference](https://tempo.xyz/developers/docs/api/routes/deposit-addresses) for the supported parameters.

## Show the payment terms

Present the source asset and amount, destination asset and amount, minimum destination amount where returned, and fees. Keep the network visible for both assets; a token symbol alone does not identify the route.

`destinationAmount` includes route deductions. The `fees` array lists separately charged fees, so an empty array does not establish a fee-free route.

A quote does not create or reserve a transfer. Review the terms returned when you create the transfer as well, before asking the source account's signer to sign its action.

## Offer 1:1 delivery

Where your organization is approved for subsidies, send `subsidize: true` on the quote and the create request. Tempo then guarantees normalized 1:1 delivery: the recipient receives the amount sent, and `destinationAmountRequired` shows that guaranteed amount. Transfers support this for `exactSource` only.

The route directory's `subsidies` field shows which funding methods accept a subsidy on each route. Without approval, the API rejects the request with a `routes_subsidy_*` error code. Try it in the [Routes API demo](https://tempo.xyz/developers/docs/routes/test).

## Refresh expired quotes

For transfers, read `quote.expiresAt`. If the quote expires before submission, obtain fresh terms rather than signing an expired action. Show changed terms to the user before continuing.

Continue with [Make a transfer](https://tempo.xyz/developers/docs/routes/transfers) or [Accept deposits](https://tempo.xyz/developers/docs/routes/deposits).
