> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.truvo.com/llms.txt.

# When does a quote expire, and what happens then?

## When a quote expires

`availability.expires_at` is the time the quote expires, and it's the value to rely on. Truvo currently sets it as follows, and these defaults can change:

* The carrier's own expiry, when the carrier gives one.
* Otherwise, 30 days after Truvo created the quote.
* Some renters quotes expire sooner, 24 hours after Truvo rated the quote or when the coverage start date begins at the rented address, whichever comes first.
* In the sandbox, 30 days after Truvo created the quote, on the workspace clock.

## What happens at the expiry

* From `expires_at` on, a read of the quote shows its `status` as `inactive`, with the reason `expired`.
* Truvo saves the expiry as a new version of the quote, with the same terms, and sends the `quote.expired` event. See [Webhooks](/guides/webhooks).
* The quote's `next_actions` lists only `read_status`.
* A `continue_on_carrier_site` link opens a Truvo page that says the quote has expired.

## What to show

* Offer only the actions that the quote lists, so an expired quote shows no buttons or links.
* To show the person a current price, send a new quote request.
* Listen for `quote.expired`, or check `expires_at` before you show a quote that you saved earlier.

## Test it in the sandbox

The `auto-expiry` and `renters-expiry` scenarios return a quote that's already expired. The `force_expiry` control expires the quotes you already have, and `advance_time` moves the workspace clock forward. See [Sandbox scenarios](/guides/sandbox-scenarios#control-time-and-expiry).