> ## Documentation Index
> Fetch the complete documentation index at: https://scaffoldstacks.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Deploy your first Stacks dApp to testnet in 5 steps

Deploy your first Stacks dApp to testnet in minutes. No Docker required. Contracts run on Hiro testnet infrastructure.

## Contents

* [Install the CLI](#install-the-cli)
* [Scaffold a project](#scaffold-a-project)
* [Get testnet STX](#get-testnet-stx)
* [Deploy to testnet](#deploy-to-testnet)
* [Start the frontend](#start-the-frontend)
* [Connect your wallet](#connect-your-wallet)

## Install the CLI

Requires Clarinet **3.21+**.

```bash theme={null}
cargo install stacksdapp
stacksdapp --version
stacksdapp doctor
```

Or build from source:

```bash theme={null}
git clone https://github.com/scaffold-stack/scaffold-stack.git
cd scaffold-stack
cargo install --path cli
```

## Scaffold a project

```bash theme={null}
stacksdapp new my-app
cd my-app
```

This creates:

* Clarinet configuration for contracts
* Next.js frontend with wallet integration
* Network settings for testnet, mainnet, and devnet

## Get testnet STX

1. Open the [Hiro testnet faucet](https://explorer.hiro.so/sandbox/faucet?chain=testnet)
2. Add your deployer mnemonic to `contracts/settings/Testnet.toml`:

```toml theme={null}
[accounts.deployer]
mnemonic = "your 24 words here"
```

## Deploy to testnet

```bash theme={null}
stacksdapp deploy --network testnet
```

Preview without broadcasting:

```bash theme={null}
stacksdapp deploy --network testnet --dry-run
```

Deploy a single contract:

```bash theme={null}
stacksdapp deploy --network testnet --contract counter
```

This generates a deployment plan, submits transactions, and writes addresses to `frontend/src/generated/deployments.json`.

## Start the frontend

```bash theme={null}
stacksdapp dev --network testnet
```

Opens [http://localhost:3000](http://localhost:3000). The Debug Contracts panel lists every contract function with typed inputs.

## Connect your wallet

Click **Connect Wallet** and connect Leather or Xverse set to Testnet.

* Public functions open a wallet popup to sign and broadcast
* Read-only functions call the node directly (no wallet needed)

<Note>
  You now have a live Stacks dApp on testnet. Use the debug UI to interact with your contracts.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Edit contracts" icon="pen-to-square" href="/development">
    Modify Clarity contracts and see live updates.
  </Card>

  <Card title="Code generation" icon="code" href="/code-generation">
    Bindings, hooks, watch mode, and ABI cache.
  </Card>

  <Card title="Run tests" icon="flask" href="/testing">
    Test contracts and frontend.
  </Card>

  <Card title="Local devnet" icon="server" href="/local-devnet">
    Docker chain with `dev --auto-deploy`.
  </Card>
</CardGroup>
