> For the complete documentation index, see [llms.txt](https://prodocs.webhash.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prodocs.webhash.com/getting-started.md).

# Getting Started

Welcome to **WebHash Pro** - the fastest way to take a website that lives in a GitHub repository and publish it to the **permanent web** on IPFS. In this guide you'll go from a brand-new account to your first live IPFS site in about five short steps.

By the end you'll have:

* Signed in with GitHub
* Picked a repository
* Deployed it to IPFS
* Opened your site at a live IPFS URL

No servers to manage, no crypto knowledge required to get started - the first 20 MB of storage is free.

{% hint style="info" %}
**What you'll need:** a GitHub account with at least one repository containing a website (a static HTML site or a client-side React app). That's it. You only need a crypto wallet later, if and when you want to buy more storage or connect an ENS domain.
{% endhint %}

***

## Step 1 - Go to pro.webhash.com

Open your browser and visit:

```
https://pro.webhash.com
```

You'll land on the WebHash Pro home page, which doubles as the sign-in screen.

![WebHash Pro sign-in landing page](/files/yFWCK300phaXd5J9wNji)

***

## Step 2 - Sign in with GitHub

WebHash Pro uses your GitHub account to sign you in - there's no separate password to create.

1. On the home page, click **Sign in with GitHub**.
2. You'll be redirected to GitHub. If you're not already logged in to GitHub, log in there.
3. GitHub will show an authorization screen asking you to grant WebHash Pro access. Review it and click **Authorize**.
4. You'll be sent back to WebHash Pro and dropped on your dashboard.

### What permissions does WebHash ask for, and why?

During authorization, GitHub will tell you what WebHash Pro can access. Here's exactly what we request and what each part is for:

| Permission                          | What it lets WebHash do             | Why it's needed                                                            |
| ----------------------------------- | ----------------------------------- | -------------------------------------------------------------------------- |
| **Read your profile** (`read:user`) | See your GitHub username and avatar | To create your account and show who's signed in                            |
| **Read your email** (`user:email`)  | Read your GitHub email address      | To identify your account                                                   |
| **Repository access** (`repo`)      | Read the code in your repositories  | To clone and build the repo you choose to deploy - including private repos |

{% hint style="info" %}
**Why repository access?** To deploy a site, WebHash needs to download (clone) and build your repository's code. The broad `repo` scope is what allows you to deploy **private** repositories, not just public ones. WebHash only reads the repositories you choose to deploy - it never modifies your code.
{% endhint %}

{% hint style="warning" %}
**You're always in control.** If a particular repository doesn't show up later, you can grant access to more repositories at any time using the **Add Repository Access** button on the New Deployment page. And you can revoke WebHash's access entirely from your [GitHub Applications settings](https://github.com/settings/applications) whenever you like.
{% endhint %}

***

## Step 3 - Get to know your dashboard

After signing in, you land on the **Dashboard** - your home base. The left sidebar gives you everything: **Dashboard**, **New Deployment**, **Repositories**, **Deployments**, **ENS Domains**, **Environment Variables**, **Billing**, and **Settings**.

At the top of the dashboard you'll find four cards that give you an at-a-glance view of your account:

* **Storage** - A meter showing how much storage you've used out of your total quota (for example, `2 MB / 20 MB`). The bar turns from green to amber to red as you fill up. Below it, a **Buy storage · $5/GB** link takes you to Billing. Your first **20 MB is free**.
* **Deployments** - The total number of deployments you've made, with a quick breakdown of how many are **live**, **failed**, or **active** (still building).
* **Published to IPFS** - How many deployments are successfully pinned to IPFS, plus your overall success rate.
* **ENS Domains** - How many ENS domains you've connected, with a **Manage domains** link.

Below the cards is the **Recent deployments** list. On a fresh account it shows "No deployments yet" with a button to deploy your first repository. Once you start deploying, each row here shows the deployment's status, repository name, branch, size, connected domain (if any), and its IPFS **CID** (Content Identifier) with a one-click copy button.

{% hint style="info" %}
**What's a CID?** A CID is the unique fingerprint IPFS gives your site's content. It's how the permanent web finds and verifies exactly what you published. You'll see CIDs throughout WebHash Pro.
{% endhint %}

***

## Step 4 - Start a new deployment

Click **New Deployment** - either the button in the top-right of the dashboard or **New Deployment** in the sidebar. This opens the deployment wizard.

![New Deployment page initial view](/files/hgO4htdlUtDJb1jIuMjX)

The page has two side-by-side panels:

* **Select Repository** (left) - Your GitHub repositories, with a search box at the top.
* **Deployment Settings** (right) - Where you choose the project type and, if needed, a build command.

You'll also see a **Storage** bar near the top, reminding you how much free space you have before this deployment.

{% hint style="info" %}
**Don't see a repository?** Use the **Add Repo** button to add one by its `owner/repo` name or full GitHub URL, or click **Add Repository Access** (top-right) to re-authorize WebHash and grant access to more repositories on GitHub.
{% endhint %}

***

## Step 5 - Pick a repository and deploy

1. In the **Select Repository** panel, search for and click the repository you want to publish. A green **public** or amber **private** badge tells you its visibility.
2. A **Branch** dropdown appears - choose the branch to deploy (usually `main`).
3. In **Deployment Settings**, choose your **Project Type**:
   * **Static** - For plain HTML/CSS/JS sites. No build step required; WebHash deploys straight from your repo. This is the simplest option.
   * **React** - For client-side React apps. WebHash pre-fills a **Build Command** (`npm run build`) and **Output Directory** (`build`); adjust them if your project uses different values.
4. Click **Deploy to IPFS**.

{% hint style="warning" %}
**React note:** Only **client-side** React apps are supported. Anything that needs a running server (server-side rendering, API routes, databases) won't work on IPFS, because IPFS serves static files only.
{% endhint %}

After you click **Deploy to IPFS**, a **Deployment Progress** panel appears with a live log stream. Your deployment moves through these states:

* **Queued** → **Building** → **Published** (success) - or **Failed** if something goes wrong.

Larger projects take longer, so a build can run from a few seconds to several minutes. You can watch the logs scroll in real time.

{% hint style="info" %}
**"Storage full" message?** If a deployment would push you past your storage quota, you'll see a **Storage full** banner instead of a build. Head to [Billing](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/billing.md) to buy more storage (paid in crypto), then try again. Remember, you get 20 MB free.
{% endhint %}

***

## Step 6 - Open your live IPFS URL

When the build finishes successfully, the progress panel turns green and shows **Deployed successfully** along with:

* A **clickable IPFS gateway URL** - this is your live site. Click it to open your published site in a new tab.
* Your deployment's **CID** - the permanent content fingerprint.
* A **View deployment details →** link.

Click the gateway URL and - congratulations - **your site is live on the permanent web!** 🎉

You can return to this site anytime from the **Deployments** page in the sidebar. Open any deployment to see its full details, copy its CID or gateway URL, hit **Visit Deployment**, or connect a domain.

![Deployment details with CID and gateway URL](/files/nlFae4CQ1gGO8FDZWwuL)

{% hint style="success" %}
**That's it - you've shipped to IPFS!** Your content now has a permanent CID and is reachable through an IPFS gateway. From here you can make it even better.
{% endhint %}

***

## What's next?

Now that your first site is live, explore the deeper guides:

* [**Deploying a Repository**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/deploying.md) - The full deployment guide: project types, build commands, output directories, environment variables, and redeploys.
* [**Auto-Deploy from GitHub**](/auto-deploy.md) - Set up a GitHub webhook so every push automatically deploys your latest changes.
* [**Connecting an ENS Domain**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/ens-domains.md) - Point a human-friendly ENS name (like `yoursite.eth`) at your IPFS site. Updates are signed by you in your own wallet - fully self-custodial.
* [**Storage & Billing**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/billing.md) - How storage pricing works (first 20 MB free, then $5/GB) and how to pay in ETH, USDC, or USDT across Ethereum, Base, Arbitrum, and Optimism.

{% hint style="info" %}
**Tip:** Keep an eye on the **Storage** meter on your dashboard. As long as you stay under 20 MB, deploying is completely free.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://prodocs.webhash.com/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
