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

# One-Click Deploy

Create and deploy Web3 apps effortlessly with Thirdweb and Celo.

***

## Objectives

By the end of this tutorial, you will:

* Be able to **transfer Celo** to another address
* Have a mintable **NFT Drop**.
* Build an **NFT gallery**

## Prerequisites

* Node (v20 or higher)
* A wallet with some test tokens (more on this later)

## Fund Your Wallet

1. Ensure there are sufficient funds to cover the transaction fees.
2. Visit the [Celo Sepolia Faucet](https://faucet.celo.org/celo-sepolia) to claim test tokens using a wallet address. ***Remember to claim only what is needed.***

## Create a Contract on Thirdweb

1. Visit [Thirdweb](https://thirdweb.com/login?utm_source=celo\&utm_medium=documentation\&utm_campaign=chain_docs) and log in or create a new account.
2. Navigate to **`Contracts`** and click **`Deploy Contract`**.
3. Since multiple smart contracts have already been audited, there's no need to write them from scratch.
4. Select **`NFT Drop`** and click **`Deploy`**.
5. Configure the token by setting its **Name** (mandatory), **Symbol**, and optionally adding an **Image** and **Description**.
6. In the **Deploy Options** section, choose **`Celo Sepolia`** as the Chain (if not selected by default).
7. Click **`Deploy Now`** to finalize the process.
8. After deployment, well’ll be redirected to the dashboard to upload your NFTs.
9. Provide a **name**, upload an **image**, add a **description**, and define **traits** for the NFT.
10. **Lazy Mint** the NFT.
11. Repeat steps 9 and 10 a few times—we need at least **3 NFTs**.
12. Copy your **`contract address`** from the NFT dashboard.
13. Copy the **`contract address`** from the NFT dashboard.

## Make the NFT Mintable

1. On the dashboard, go to **Claim Conditions**
2. Click on **Add Phase**.
3. Specify the **Default Price (0.1)** and the **Limit per wallet (3)**.
4. Click on **Save Phases**.

## Get a Thirdweb Client ID

1. Open the **Thirdweb Dashboard** and click **`Add New`** in the **Projects** section.
2. Select **`Project`** from the dropdown menu.
3. Enter a **project name** and add **`localhost:5173`** under **`Allowed Domains`**. Click **`Create`**.
4. A **`Client ID`** and **`Secret ID`** will be generated. Copy both to a secure location—we’ll only need the **`Client ID`**.

## Clone the Thirdweb Celo NFT Repository

1. Clone the repository:

   ```sh theme={null}
   git https://github.com/atejada/celo-one-click-deploy
   cd celo-one-click-deploy
   ```

2. Install dependencies:

   ```sh theme={null}
   npm install
   ```

3. Create a .env file with the following content:

   ```sh theme={null}
   VITE_CLIENTID = THIRD_WEB_CLIENT_ID
   VITE_ADDRESS = MINTABLE_NFT_CONTRACT
   VITE_GALLERY_ADDRESS = NFT_GALLERY_CONTRACT
   VITE_ADDRESS_TO = ACCOUNT_TO_SEND_CELO_TO
   ```

4. Run the project:

   ```sh theme={null}
   npm run dev
   ```

Once the project is running, there will be three links, the first named **Send Celo**, the second **NFT Gallery** and the third
named **Mint NFT**.

The first one will be displayed by default. Click on the **Connect** button to connect the wallet. Enter an
address and an amount of Celo to transfer. The second link will display an NTF with a combo box at the top, to choose between 3 different
NFTs. The third and last link will display an NFT along with its description and by pressing the mint button, 0.1 Celo will be paid.

## Join Build with Celo - Proof of Ship

1. Create a project profile on [Karma GAP](https://docs.gap.karmahq.xyz/how-to-guides/integrations/celo-proof-of-ship)\*\*.
2. Sign up to join [Proof of Ship](https://celo-devs.beehiiv.com/subscribe).
3. You can win up to **`5k USDm`** + Track Bounties.
4. Build with **`Celo`**.
