Skip to main content

Deployed addresses

Canonical deployment record. The wallet's chain config (packages/core/src/account/constants.ts) is the source of truth at runtime; this page tracks the human-readable history.

Arbitrum Sepolia (chain ID 421614)

ContractAddressStatus
EntryPoint v0.70x0000000071727De22E5E9d8BAf0edAc6f37da032Canonical; already deployed
PQValidatorModuleTBD (latest deploy address surfaced in contracts/deployments/chain-421614.json)Deployed
Safe7579TBDVendored from rhinestonewtf/safe7579 v2.0.0, deployed via CREATE2
Safe7579LaunchpadTBDPart of rhinestonewtf/safe7579
SafeProxyFactoryTBDFrom safe-global/safe-smart-account v1.5.0
SafeL2TBDFrom safe-global/safe-smart-account
Stylus ML-DSA-65 verifierTBDAlready deployed on Arbitrum Sepolia (~374K gas per verify)

Deployer (canonical for our deployments): tracked in contracts/deployments/chain-421614.json.

Quantum L1 (chain ID TBD)

ContractAddressStatus
Bridge (qUSDT issuer)TBDIn rollout
EntryPoint v0.7TBDStandard address (canonical)
PQValidatorModuleTBDDeployed
Safe7579TBDDeployed
Safe7579LaunchpadTBDDeployed

Local Anvil fork (development)

For local development and CI, contracts are deployed against an Anvil fork of Arbitrum Sepolia:

Endpoint: http://localhost:8545
Fork: sepolia-rollup.arbitrum.io/rpc
Chain ID: 421614 (impersonates Arb Sepolia)
Deployer: Anvil account #0 (10,000 ETH pre-funded)

Deployment commands, contracts, and the demo flow are identical to what they would be on a real Arbitrum Sepolia deployment. The local fork is used for fast iteration; mainnet-style deploys are scripted in contracts/script/Deploy.s.sol.

Deployment commands

See contracts/README.md in the wallet repository for the full Foundry workflow. The short form:

Local Anvil fork

# Terminal 1 — start the fork
anvil --fork-url https://sepolia-rollup.arbitrum.io/rpc --chain-id 421614

# Terminal 2 — deploy
cd contracts
set -a && source .env && set +a
forge script script/Deploy.s.sol:Deploy \
--rpc-url http://localhost:8545 \
--broadcast \
--private-key "$DEPLOYER_PRIVATE_KEY"

Real Arbitrum Sepolia

cd contracts
# .env: set DEPLOYER_PRIVATE_KEY to a real funded key
# .env: set ARB_SEPOLIA_RPC_URL to https://sepolia-rollup.arbitrum.io/rpc
set -a && source .env && set +a
forge script script/Deploy.s.sol:Deploy \
--rpc-url "$ARB_SEPOLIA_RPC_URL" \
--broadcast \
--verify

Deployment record

Each chain gets a JSON record under contracts/deployments/chain-<chainId>.json capturing the addresses, deploy block, and deployer. That file is the canonical history; this GitBook page summarizes the latest known state.

When an address is marked TBD here, it has not yet been finalized for that environment, or the addresses are rotating between development deploys. Refer to the deployment record in the repository for the live values.