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-stagingstagenet
Show the active stagenet and its RPC URL:
contract.dev stagenetstagenet create
Create a stagenet forking a chain at its latest block. It becomes the active stagenet.
contract.dev stagenet create eth-staging --chain ethereumCreating eth-staging — fork of Ethereum…
Created eth-staging (cmg…) — fork of Ethereum, ready. It is now the active stagenet.
rpc: https://rpc.contract.dev/…| Flag | Description |
|---|---|
--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 --yesstagenet 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 resetScheduled resets: every 12h, and on startup.
last reset: 2026-09-27T21:00:00.000Z| Flag | Description |
|---|---|
--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. |
--show | Print the schedule without changing it. |
One-off overrides
Any stagenet command accepts:
| Flag | Description |
|---|---|
--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