Back to Home

Developer Mode

Smart contract developers deserve secure signing without sacrificing development speed.

Ethereum BSC Polygon Arbitrum Optimism Base

🤔 The Developer's Dilemma

Smart contract developers face a tough choice: expose private keys in .env files for convenience, or deal with the friction of hardware wallets for every test transaction.

.env File Risk

Private keys in plain text, easily leaked through git commits or malware

Hardware Wallet Friction

Manually confirm every transaction during rapid development cycles

API Key Hassle

Copy-paste Etherscan API keys for each new project

🔧 Hardhat Integration

One-line Setup with @arcsign/hardhat-plugin

Install our official Hardhat plugin and start deploying contracts securely. No private keys in your codebase, ever.

// Install the plugin
npm install @arcsign/hardhat-plugin

// hardhat.config.js
require("@nomicfoundation/hardhat-toolbox");
require("@arcsign/hardhat-plugin");

module.exports = {
  solidity: "0.8.20",
  networks: {
    sepolia: {
      url: "https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY",
      chainId: 11155111,
      accounts: [],  // Empty array - ArcSign provides signers
      arcsign: true, // Enable ArcSign for this network
    },
    bscTestnet: {
      url: "https://data-seed-prebsc-1-s1.binance.org:8545",
      chainId: 97,
      accounts: [],
      arcsign: true,
    },
  },
};

💡 Pro Tip

Enable Session Mode in the Dashboard to auto-sign testnet transactions. You'll only need to enter your password once, then deploy freely for 30 minutes!

Session Mode (Auto-Sign)

Deploy Without Password Prompts

For intensive testnet development, enable Session Mode to auto-sign transactions for 30 minutes. Enter your password once, then deploy freely without interruptions.

🔓 One-Time Unlock

Enter password once to start a 30-minute auto-signing session

🧪 Testnet Only

Auto-sign on Sepolia, Goerli, BSC Testnet, Mumbai, and more

🔒 Mainnet Protected

Mainnet transactions always require manual confirmation

🛡️ Secure Memory

Keys protected with XOR 3-split in memory, auto-cleared on session end

How to Use

  1. Open Developer Mode → Settings tab
  2. Click "Start Session"
  3. Enter your wallet password
  4. Deploy contracts without password prompts for 30 minutes
# With Session Mode active:
$ npx hardhat run scripts/deploy.ts --network sepolia

[ArcSign] ✓ Transaction auto-signed (session active)
Contract deployed to: 0x1234...abcd
Transaction confirmed in block: 10221130

⚠️ Security Note

Session Mode only works for transaction signing (contract deployment, transfers). Message signing (personal_sign) still requires manual approval for security.

🔑 Block Explorer API Keys

Auto-inject Etherscan, BSCScan, and More

Store your Block Explorer API keys in ArcSign once. The Hardhat plugin automatically injects them into your config — no more .env file management.

  • Etherscan (Ethereum, Sepolia, Goerli)
  • BSCScan (BNB Chain, Testnet)
  • PolygonScan (Polygon, Mumbai)
  • Arbiscan (Arbitrum One, Sepolia)
  • Optimistic Etherscan (Optimism)
  • BaseScan (Base)
// No need for this anymore!
// ETHERSCAN_API_KEY=abc123 (in .env)

// ArcSign auto-injects from Developer Mode settings
await hre.run("verify:verify", {
  address: contractAddress,
  constructorArguments: [],
});
// ✓ API key injected automatically

⚠️ Important

API keys are encrypted with your wallet password and stored on your USB. They're never transmitted over the network.

📜 Signing History

Track Every Transaction

Full audit trail of all developer transactions. Click any entry to view on Block Explorer.

  • Transaction hash, timestamp, and network
  • One-click links to Etherscan, BSCScan, etc.
  • Persistent storage across sessions
  • Filter by network or time range

🌐 Supported Signing Methods

✍️ personal_sign (EIP-191)

Login authentication, off-chain signatures, message verification

🔏 eth_signTypedData (EIP-712)

Permit tokens, Gasless approvals, Meta-transactions, NFT marketplace listings

💸 eth_sendTransaction

Contract deployment, Token transfers, DeFi interactions

💡 Common Use Cases

  • personal_sign — "Sign in with Ethereum" login, proving wallet ownership
  • EIP-712 — Uniswap Permit2, OpenSea listings, gasless token approvals
  • sendTransaction — Deploy contracts, swap tokens, stake assets

Ready to Develop Securely?

Download ArcSign and start deploying contracts without exposing your private keys.