Fuse Network is EVM-compatible, so the full suite of Ethereum developer tooling works out of the box. This page covers the most common tools used to deploy and interact with smart contracts on Fuse, with configuration details specific to the Fuse mainnet and Spark testnet.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fuseio/fuse-docs/llms.txt
Use this file to discover all available pages before exploring further.
Hardhat
Compile, test, and deploy contracts with Hardhat and the Ignition deployment system.
Remix + MetaMask
Deploy contracts directly from the browser using Remix IDE and MetaMask.
Thirdweb
Use the Thirdweb CLI and dashboard to deploy prebuilt or custom contracts.
Grove
Get a dedicated RPC endpoint for Fuse through the Grove decentralized RPC network.
WalletConnect
Integrate WalletConnect to connect dApps to smart contract wallets on Fuse.
Other tools
JustSmartContracts, OpenZeppelin Defender, and other EVM-compatible utilities.
Hardhat
Hardhat is a development environment for Ethereum that supports compiling, testing, debugging, and deploying smart contracts. The steps below walk through deploying an ERC-20 token to Fuse.Prerequisites
- Node.js installed
- Basic knowledge of Solidity and JavaScript
Install and initialize
npx hardhat init, accept the option to install the sample project’s dependencies.
Write the contract
In thecontracts/ directory, delete the default Lock.sol and create Token.sol:
Create a deployment module
Inignition/modules/, create deploy.js:
Configure Hardhat for Fuse
Updatehardhat.config.js to add the Fuse networks:
Deploy
Verify contracts
To verify contracts on the Fuse Explorer (Blockscout), add theetherscan configuration to hardhat.config.js:
Remix and MetaMask
Remix IDE is a browser-based smart contract development environment. Deploying to Fuse with Remix requires MetaMask connected to the Fuse Network.Steps
Open Remix
Go to https://remix-project.org/ and create a new Solidity file (e.g.,
Token.sol).Write and compile
Paste your contract code and click Compile. Select the Solidity version matching your
pragma statement (e.g., 0.8.0). A green checkmark confirms successful compilation.Connect MetaMask
In the Deploy tab, set the environment to Injected Provider. MetaMask will prompt you to sign in and will display your connected address and the active Fuse network.
Deploy
Click Deploy and approve the MetaMask transaction. The contract address appears in the Remix console once deployed.
Verify on Explorer
Copy the transaction hash and look it up on https://explorer.fuse.io/ for mainnet or https://explorer.fusespark.io/ for testnet.
Thirdweb
Thirdweb provides a CLI and dashboard for deploying smart contracts to any EVM chain, including Fuse, without managing RPC URLs or private keys directly.Create a contract
Deploy a contract
From your project root:Deploy a prebuilt contract
Visit https://thirdweb.com/explore to deploy NFT collections, tokens, or marketplaces directly without writing contract code. Select a contract type, configure it, and choose Fuse as the network.Grove
Grove is a decentralized RPC network that provides reliable endpoints for connecting to Fuse. Use Grove to get a dedicated, high-availability RPC URL for your application.Getting started
Sign up
Create an account at https://portal.grove.city.
Create an application
In the Grove dashboard, click New Application and fill in a name, description, and optional Appmoji identifier.
Find your Fuse endpoint
Search for “Fuse” in the endpoint search bar to find your unique RPC URL for Fuse Mainnet.
WalletConnect
WalletConnect is an open-source protocol for connecting dApps to mobile wallets via QR codes or deep links. Fuse smart contract wallets are fully compatible with the WalletConnect protocol.Detecting smart contract wallets
When a user connects via WalletConnect, they may be using a smart contract wallet. Detect this by checking whether the connected address has deployed code:Message verification
For externally owned accounts (EOAs), useecrecover(). For smart contract wallets, use the EIP-1271 isValidSignature() method:
isValidSignature():
Transactions with smart contract wallets
Smart contract wallets use meta-transactions relayed to the network by a relayer. Submit a standard{ to, value, data } transaction to your Web3 provider. The mobile wallet converts it to a meta-transaction and the relayer handles gas payment in FUSE.
Your dApp receives the transaction hash. Because relayers may replay transactions with higher gas prices (changing the hash), monitor for specific emitted events rather than relying solely on the transaction hash.
Other tools
| Tool | Description |
|---|---|
| JustSmartContracts | Browser-based deployment tool for EVM chains |
| OpenZeppelin Defender | Manage access controls, upgrades, and pausing for deployed contracts |
| Remix IDE | Web and desktop IDE for smart contract development |