# Deploy a Smart Contract

This guide will walk you through deploying your first smart contract on the IBVM Chain using **Remix**, a powerful web-based IDE designed for Ethereum-compatible smart contract development. Since IBVM is fully EVM-compatible, Remix is a great tool for testing and deploying your contracts quickly.

***

#### ✅ Prerequisites

Before you begin, ensure the following:

* You have **BTC** in your wallet.
* The **IBVM Testnet** is already added to your MetaMask or preferred Web3 wallet.
* If not, please visit the [**Faucet**](https://faucet.ibvm.io) page to receive test tokens and add the network.

#### 🔹 Step 1: Open Remix and Load a Contract

Visit <https://remix.ethereum.org>. Once the IDE loads, navigate to the **contracts** folder in the file explorer on the left.

Select your simple contract file.

<figure><img src="/files/kKF7QhXyO2uxSId4Sy8U" alt=""><figcaption><p>Initial View &#x26; Final Selection</p></figcaption></figure>

#### 🔹 Step 2: Compile the Smart Contract

1. Click the **Solidity Compiler** tab in the left sidebar.
2. Expand **Advanced Configuration** and select **Shanghai** as the EVM version (IBVM is based on Citrea which currently does not support Cancun).
3. Click **\<your\_filename>.sol**.

This step will generate the **ABI** and **Bytecode** needed for deployment.

<figure><img src="/files/NQkApbJtjVvjoaEYEkJm" alt=""><figcaption><p>Compiler Contract</p></figcaption></figure>

#### 🔹 Step 3: Connect Wallet and Deploy Contract

1. Click on the **Deploy & Run Transactions** tab in the left panel.
2. In the **Environment** dropdown, choose **Injected Provider - MetaMask**.\
   Remix will connect to your MetaMask wallet.
3. Ensure your wallet is on **IBVM Testnet.**
4. Click **Deploy**.

<figure><img src="/files/cdGYkrR0zqHU2S7yrt1T" alt=""><figcaption><p><strong>Configuring Wallet and Network</strong></p></figcaption></figure>

#### 🔹 Step 4: Confirm the Transaction

Your wallet will open a confirmation dialog. Review the gas fees and click **Confirm** to complete the deployment.

Once the transaction is confirmed on-chain, the deployed contract will appear in the Remix interface.

<figure><img src="/files/oQeRvc0LEFWHIrIyZ7fz" alt=""><figcaption><p>Confirm Transaction in Wallet</p></figcaption></figure>

#### 🎉 Congratulations!

You've deployed your first contract on **IBVM Testnet** using Remix. From here, you're ready to explore more complex smart contracts, token creation, DeFi applications, and more.

Need help or have questions? Join the IBVM community on Discord or refer to the other guides in the [**Development Documentation**](/ibvm-doc/developer-documentation/kickstart.md) section.


---

# Agent Instructions: 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://ibvm.gitbook.io/ibvm-doc/development-guide/deploy-a-smart-contract.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.
