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)
| Contract | Address | Status |
|---|---|---|
| EntryPoint v0.7 | 0x0000000071727De22E5E9d8BAf0edAc6f37da032 | Canonical; already deployed |
| PQValidatorModule | TBD (latest deploy address surfaced in contracts/deployments/chain-421614.json) | Deployed |
| Safe7579 | TBD | Vendored from rhinestonewtf/safe7579 v2.0.0, deployed via CREATE2 |
| Safe7579Launchpad | TBD | Part of rhinestonewtf/safe7579 |
| SafeProxyFactory | TBD | From safe-global/safe-smart-account v1.5.0 |
| SafeL2 | TBD | From safe-global/safe-smart-account |
| Stylus ML-DSA-65 verifier | TBD | Already 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)
| Contract | Address | Status |
|---|---|---|
| Bridge (qUSDT issuer) | TBD | In rollout |
| EntryPoint v0.7 | TBD | Standard address (canonical) |
| PQValidatorModule | TBD | Deployed |
| Safe7579 | TBD | Deployed |
| Safe7579Launchpad | TBD | Deployed |
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.