# How to deploy?

&#x20;         **ICB Network** is fully compatible with the **Ethereum Virtual Machine (EVM)**, meaning smart contracts written in Solidity can run on **ICB Network** just as they do on Ethereum, without requiring major changes.

&#x20;         To deploy a smart contract on the **ICB Network**, you send a transaction containing the contract’s compiled bytecode without specifying a recipient address. This process consumes **ICBX tokens** as gas fees, which are required for deploying and interacting with contracts on the network.

&#x20;         For development and testing purposes, you can request testnet **ICBX** tokens from the official faucet on the **ICB Testnet.**

&#x20;         Once deployed, the smart contract becomes accessible to all users of the **ICB Network**. Just like user accounts, smart contracts are assigned a unique ICB Network address, allowing anyone to interact with them through standard transaction calls or web3 interfaces.

## Requirements for Deployment

* **Compiled Bytecode**: The output of your Solidity contract compilation (`.bin` or `.json`), typically generated using tools like Hardhat, Foundry, Truffle, or Remix.
* **ICBX Tokens**: A small amount of **ICBX** (the native token) is required to cover gas fees for deployment and interaction.
* **Deployment Script or Tool**: Use a deployment framework such as **Hardhat, Foundry, Truffle**, or **thirdweb** to automate and manage the deployment process.
* **Access to an ICB Node**:
  * Run your own ICB Network node locally or in the cloud, or
  * Use public [RPC access](https://chainlist.org/?search=icb\&testnets=true) (e.g., [`https://rpc1-mainnet.icbnetwork.info`](https://rpc1-mainnet.icbnetwork.info) or testnet endpoints).
* **(Optional but Recommended) Verified Source Code**: For transparency and trust, consider verifying your contract on the [**ICBScan**](https://icbscan.io/) block explorer.


---

# 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://docs.icb.network/build-on-icb-network/how-to-deploy.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.
