create-inco-app CLI allows you to create a new full-stack confidential dApp with a Next.js frontend, Solidity smart contracts, and the Inco SDK. It is the easiest way to get started building on Inco.
Basic usage
create-inco-app will create a folder with your project name and install the required dependencies.
Reference
| Option | Description |
|---|---|
-h or --help | Show all available options |
-v or --version | Output the version number |
-f or --framework <value> | Contract framework (foundry or hardhat) |
-w or --wallet <value> | Wallet provider (rainbowkit, privy, dynamic, reown, para) |
-c or --chain <value> | Chain type (evm) |
-y or --yes | Skip prompts, use defaults |
--install | Auto-install dependencies after scaffolding |
--git | Initialize a git repository |
--use-npm | Explicitly tell the CLI to bootstrap using npm |
--use-pnpm | Explicitly tell the CLI to bootstrap using pnpm |
--use-yarn | Explicitly tell the CLI to bootstrap using Yarn |
--use-bun | Explicitly tell the CLI to bootstrap using Bun |
Project Structure
The scaffolded project is a monorepo with two workspaces:The frontend is pre-configured for Base Sepolia (chain ID
84532). All wallet providers point to Base Sepolia by default — no chain configuration changes are needed.Examples
With default options
With Foundry and RainbowKit
With Hardhat and Para
Test Contracts
- Foundry
- Hardhat
No Docker needed — uses IncoTest mocked infrastructure.
Deploy to Base Sepolia
The frontend is pre-configured for Base Sepolia (chain ID84532) and only works against Base Sepolia — local nodes are for contract testing only.
Set up your environment variables in contracts/.env:
- Foundry
- Hardhat
Inco SDK Integration
The scaffolded app uses@inco/js for encryption and decryption. Here’s the core pattern:
Choose Your Wallet Provider
Each wallet provider has its own setup. Select one to see the provider configuration and how it integrates with Inco:Para
Embedded + external wallet support
RainbowKit
Multi-wallet connector
Privy
Embedded wallets & social login
Dynamic
Multi-chain wallet orchestration
Reown
WalletConnect-powered connections
Quick Reference
| Command | Description |
|---|---|
docker compose up -d | Start local node (from contracts/) |
docker compose down | Stop local node |
forge build | Compile (Foundry) |
forge test -vvv | Test (Foundry) |
npx hardhat compile | Compile (Hardhat) |
npx hardhat test --network anvil | Test (Hardhat) |
npm run dev | Start frontend (from frontend/) |