---
layout: docs
page_title: Waypoint URL Service
description: |-
  Applications deployed with Waypoint will receive a public `waypoint.run` URL. This URL can be used to quickly view your deployed applications and share your applications with others.
---

# Waypoint URL Service

When you deploy your app with Waypoint, you will receive a public `waypoint.run` URL with
a valid TLS certificate automatically generated via [Let's
Encrypt](https://letsencrypt.org/). You can use this URL to quickly view your
deployed applications and to share your applications with others.

A Waypoint URL looks like this:
`outspoken-laughing-duck.waypoint.run`.

The Waypoint URL service is a free, public service hosted by HashiCorp. The URL
service is open source, and you can host it yourself, if you choose. We have put
limits on the public service to prevent abuse. Operational status for the HashiCorp-hosted
version of the service is available on the [HashiCorp Services status page](https://status.hashicorp.com/).

-> **For Development Only!** Waypoint URLs should only be used for development
purposes and do not currently support
production-level traffic at this time. We do plan to add production-level
support to the URL service in the future.

~> **Warning:** The URLs generated by Waypoint are publicly routable. If you do
not want the public to view your application, either disable the URL for your
app or do not share the URL with others.

## App URLs

When you first deploy an application, the Waypoint server registers it a unique
URL per-application. Waypoint also registers unique URLs for each
[workspace](/docs/workspaces).

By default, Waypoint routes an app's URL only to released deployments.

### URL Format

The Waypoint service randomly generates the URL using this pattern:
`adjective-gerund-noun.waypoint.run`. For example:
`outspoken-laughing-duck.waypoint.run`.

### Per-Deployment URLs

You can route an app's URL to a specific deployment, even if that deployment is
not released. Waypoint applies a deployment version number to your application
each time that you deploy it.

For example, if your app has been deployed three times, Waypoint will associate
the version of `v3` to the app.

You can route directly to a version of the deployed app by appending the version
number to the deployment URL. For example, to route directly to the v2
deployment of the app, append the version number to the URL by using this
format: `--v2`.

Here's an example URL that routes to v2 of the app's deployment:
`outspoken-laughing-duck--v2.waypoint.run` (note the **double hyphen**).

### Configuration

The URL service is configured in two places: the server and in an app's
configuration file (waypoint.hcl).

#### Server Configuration

The Waypoint server configuration specifies whether the URL service is enabled
and what address is used for the service.

The URL service is **enabled by default** and points to the public Waypoint URL
service. If you want to use the URL service for any of your app's deployed with
Waypoint, you must enable the service on the server.

You must enable the URL service on the Waypoint server and also use the
[Waypoint entrypoint](/docs/entrypoint) with your app to use Waypoint URLs. You
must also accept the Waypoint Terms of Service and Privacy Policy by specifying
the "-accept-tos" flag when you install Waypoint. The service is enabled by
default. To opt-out of the using the hosted URL service, you must manually run
the Waypoint server. To configure the URL service on the server, you use flags
with the `waypoint server` command.

#### Project and App-Level Configuration

You can also configure whether the URL service is enabled for each project and
app. To learn how to configure the URL service for a project or app, see the
[`waypoint.hcl` URL stanza](/docs/waypoint-hcl/url) for details.

You must have the URL service enabled on the server to use it for a project or
app.

## Protocols

The URL service today only supports HTTP services. We automatically provision
and serve a valid TLS certificate and will reject any insecure connections. In
the future, we will support other protocols such as general TCP.

## Limits

We apply the following limits to the URL service to prevent abuse:

- **Requests per second.** There is a req/s limitation applied
  per URL to prevent excessive traffic. When this limit is reached connections
  will be rejected.

- **Bandwidth.** There is a bandwidth limitation applied to all URLs
  to prevent using the URL service for large file transfers. When this limit is
  reached, bandwidth will be throttled.

These limits cannot be raised today. In the future, we plan on providing account
registration to raise limits. HashiCorp has no intention of profiting from this
service, but we may charge for increased limits in the future to offset costs. A
free tier will always remain.

## Self-Hosting

You may choose to self-host the Waypoint URL service if you would like. Doing
this will allow you to use a custom domain and may increase security for you. As
a warning, note that the Waypoint URL service was not built with ease of
deployment in mind and also requires additional infrastructure resources such as
databases. Self-hosting is advanced and is not generally recommended.

The Waypoint URL service is open source and requires two separate components
along with their supporting infrastructure. You may find installation
instructions in the README files of the services.

The two projects you'll need to deploy are [hashicorp/horizon](https://github.com/hashicorp/horizon)
and [hashicorp/waypoint-hzn](https://github.com/hashicorp/waypoint-hzn).
