Quiz Entry - updated: 2026.07.30
Remix offers three deployment environments: JavaScript VM, Injected Provider, and a Web3 provider endpoint. What is each for?
JavaScript VM = a fake in-browser blockchain for instant, free experimentation; Injected Provider = deploy through your MetaMask wallet to whatever real network it is connected to; Web3 provider = point at a custom node endpoint manually.
| Environment | What it is | When to use |
|---|---|---|
| JavaScript VM | A simulated blockchain living in the browser tab; hands you several fake accounts preloaded with 100 fake ETH | Fast iteration — transactions confirm instantly, nothing costs real money |
| Injected Provider (MetaMask) | Remix injects your browser wallet; deploys to whatever network the wallet is on (a testnet, or mainnet) | Testing against real networks, or anything needing a live external service |
| Web3 provider | You supply an RPC endpoint URL yourself | Connecting to a specific node you run or trust |
The key gotcha: the JavaScript VM is invisible to the outside world, so anything depending on a live external service (like a price-feed oracle) only works under Injected Provider on a real testnet, never on the JavaScript VM.
Go deeper:
Remix docs: Deploy & Run Transactions — how the environment selector, VM accounts, and injected wallet work.