> For the complete documentation index, see [llms.txt](https://docs.baas.sh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.baas.sh/baas-cli/quickstart.md).

# Quickstart

Install the CLI and deploy your first contract to BaaS.

In a few minutes you'll install the CLI, sign in, and deploy a contract from your Foundry project with a key from your Vault.

You'll need **Node.js 20.19 or later** with npm, a project in the BaaS Dashboard, and a key set up on the network you're deploying to. No key yet? [Add one](/baas-cli/deploy.md#add-your-first-key) first, it only takes a minute.

{% stepper %}
{% step %}

### Install the CLI

{% tabs %}
{% tab title="Install script" %}

```bash
curl -fsSL https://tools.baas.sh | bash
```

{% endtab %}

{% tab title="npm" %}
The install script runs this same command:

```bash
npm install -g @baas.sh/cli
```

{% endtab %}
{% endtabs %}

Check that everything is in place:

```bash
baas --version
```

You should see the CLI version followed by the Forge version.
{% endstep %}

{% step %}

### Sign in

```bash
baas login
```

Your browser opens on the BaaS sign-in page. Once you're done there, the terminal greets you by email. The CLI keeps you signed in from now on.
{% endstep %}

{% step %}

### Pick a project

Everything you deploy is registered in one project, the active one. List yours, then select one by its ID:

```bash
baas projects:list
baas use my-project-id
```

{% endstep %}

{% step %}

### Deploy

From your Foundry project directory:

```bash
baas deploy
```

The wizard asks you to pick a key, a network and a contract, asks for constructor arguments if there are any, and shows a summary before deploying. The first deployment can take a few minutes.

That's it. Open **Contracts** in the BaaS Console: your contract is there, with its ABI, ready to use.
{% endstep %}
{% endstepper %}

## Next steps

* [Deploy with a one-liner](/baas-cli/deploy.md#deploy-with-a-one-liner), handy for scripts and CI.
* [Add mappings and units](/baas-cli/deploy.md#add-mappings-and-units) to shape how BaaS reads your contract.
* [Deploy with Forge](/baas-cli/advanced/deployment.md) when you need Forge's full flexibility.
