Deployment

web3market-kit supports two deployment paths: local deployment to Anvil (no auth required) and remote deployment to testnets/mainnets (requires auth). Both use Foundry’s forge toolchain.

Local Deployment (Anvil)

Local deployment works without authentication and is available from two places:

From the workspace menu

Run w3m inside your project directory, then select Deploy > Local (Anvil).

From the post-scaffold menu

After w3m new, select Start dev environment (for projects with a frontend — also deploys locally) or Deploy locally (for contracts-only projects).

What local deployment does

  1. Starts Anvil on http://127.0.0.1:8545
  2. Builds contracts (forge build)
  3. Deploys via forge script using the default Anvil private key
  4. Writes deployment to deployments/31337.json
  5. Runs codegen to update TypeScript bindings
  6. Shows a deployment summary with contract addresses

The default Anvil private key is used automatically — no environment variables needed.

Remote Deployment (Testnets / Mainnets)

Remote deployment requires authentication via w3m auth.

w3m deploy --chain <chain> [--skip-tests] [--verify] [--vercel]

Deployment Pipeline

  1. Authentication — Validates your API key
  2. API preflight — Server checks if deployment is allowed for your tier + chain
  3. Environment validation — Checks for RPC URL and deployer key
  4. Buildforge build in contracts/
  5. Testsforge test (unless --skip-tests)
  6. Deployforge script with --broadcast
  7. Save deployment — Writes to deployments/{chainId}.json
  8. Register — Reports deployment to the API
  9. Codegen — Updates TypeScript bindings
  10. Vercel (optional) — Deploys frontend

Options

OptionDescription
--chain <chain>Target chain name (required)
--skip-testsSkip running tests before deployment
--verifyVerify contracts on block explorer
--vercelDeploy frontend to Vercel after contracts

Tier Requirements

TierAllowed Targets
FreeTestnets (Sepolia, Base Sepolia, etc.)
ProAll chains including mainnets
EnterpriseAll chains

Free tier is fully functional for local development and testnet deployments. Pro is only required for mainnet chains.