Skip to Content
CLITarget a Stagenet

Target a Stagenet

Stagenet commands — push-contracts, balance, state, impersonate, follow, and friends — need a stagenet to talk to. You pick one once, or override it per command. Stagenets can also be created, deleted and reset from here.

stagenets

List the active workspace’s stagenets (* marks the active one):

contract.dev stagenets
* base-staging — fork of Base eth-staging — fork of Ethereum (offline)

stagenet use

Set the active stagenet. It is stored per workspace, so switching workspaces switches stagenets too. The reference can be a name or id:

contract.dev stagenet use base-staging

stagenet

Show the active stagenet and its RPC URL:

contract.dev stagenet

stagenet create

Create a stagenet forking a chain at its latest block. It becomes the active stagenet.

contract.dev stagenet create eth-staging --chain ethereum
Creating eth-staging — fork of Ethereum… Created eth-staging (cmg…) — fork of Ethereum, ready. It is now the active stagenet. rpc: https://rpc.contract.dev/…
FlagDescription
--chain <id|name>The chain to fork: ethereum, base, polygon, optimism, arbitrum, avalanche, bnb or monad. Required.

stagenet delete

Delete a stagenet. Its state is gone for good, so the command asks for --yes.

contract.dev stagenet delete eth-staging --yes

stagenet reset

Return the stagenet’s state to the live chain, keeping your wallets — see State Reset. Now, or on a schedule the stagenet keeps.

contract.dev stagenet reset # now contract.dev stagenet reset --every 12h # and every 12 hours from now (6h, 12h, 1d, …) contract.dev stagenet reset --every off # stop the schedule contract.dev stagenet reset --show # the schedule and the last reset
Scheduled resets: every 12h, and on startup. last reset: 2026-09-27T21:00:00.000Z
FlagDescription
--every <duration|off>Reset on this cadence, at least 5m. off stops it.
--routers <addr,…>Spenders whose Permit2 allowances the reset keeps. Defaults to the app’s list for the chain.
--showPrint the schedule without changing it.

One-off overrides

Any stagenet command accepts:

FlagDescription
--stagenet <name>Resolve a stagenet by name or id for this run only.
--rpc-url <url>Hit an RPC URL directly. Works with no login at all — useful for external teams you’ve shared a stagenet’s RPC URL with.

Resolution order: --rpc-url → --stagenet → the active stagenet set with stagenet use.

A stagenet’s RPC URL is a connection string, not a credential — it lets you talk to that stagenet’s chain, but never grants access to your account or workspace.

contract.dev balance add 0xRecipient "1 ether" --stagenet eth-staging contract.dev push-contracts --rpc-url https://rpc.contract.dev/abc123
Last updated on