> For the complete documentation index, see [llms.txt](https://docs.substreams.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.substreams.dev/how-to-guides/publish-package.md).

# Publishing a Substreams Package

In this guide, you'll learn how to publish a Substreams package to the [Substreams Registry](https://substreams.dev).

### Prerequisites

* You must have the Substreams CLI installed.
* You must have a Substreams package (`.spkg`) that you want to publish.

### Step 1: Run the `substreams publish` Command

1. In a command-line terminal, run `substreams publish <YOUR-PACKAGE>.spkg`.
2. If you do not have a token set in your computer, navigate to `https://substreams.dev/me`.

<figure><img src="/files/bjTQl6gCy5LgUWFZNStT" alt="" width="100%"><figcaption></figcaption></figure>

### Step 2: Get a Token in the Substreams Registry

1. In the Substreams Registry, log in with your GitHub account.
2. Create a new token and copy it in a safe location.

<figure><img src="/files/tSIsaISvFOXQKDKNNTOr" alt="" width="100%"><figcaption></figcaption></figure>

### Step 3: Authenticate in the Substreams CLI

1. Back in the Substreams CLI, paste the previously generated token.

<figure><img src="/files/lM6zdbz27fceiz2WjZhb" alt="" width="100%"><figcaption></figcaption></figure>

2. Lastly, confirm that you want to publish the package.

<figure><img src="/files/0G0cc3XhZ2P71tZtQlLJ" alt="" width="100%"><figcaption></figcaption></figure>

That's it! You have successfully published a package in the Substreams registry.
