Skip to content

Testnet Proxy for Developers: Hardhat, Foundry and Sepolia on One IP

Set HTTPS_PROXY once, and installers, compilers, forks and Sepolia calls all leave through the same fixed IP.

Why testnet development needs a proxy

Toolchains download from GitHub. Foundry's installer fetches foundryup from GitHub releases with curl, and from mainland China GreatFire rates github.com 83% disrupted and raw.githubusercontent.com unreliable. Developers on networks like that need a stable exit just to install tools, pull compilers and reach testnet RPC endpoints.

The tools honour proxy variables. Hardhat 3 reads HTTPS_PROXY and NO_PROXY for JSON-RPC requests, mainnet forking, compiler downloads and contract verification, and never proxies localhost; curl reads HTTPS_PROXY as well, and Node.js 24.5 and 22.21 send fetch() and default-agent requests through it when NODE_USE_ENV_PROXY=1 is set. One variable covers the whole stack.

Test where the ecosystem tests. ethereum.org names Sepolia the recommended default testnet for application development and Hoodi the network for validators and protocol upgrades, and says Holesky has been deprecated since September 2025. Faucets are web apps with their own rules: a proxy helps you reach them, not draw more from them.

Recommended testnet setup

Scroll horizontally with the arrow keys to read all content.

Recommended testnet setup
CriterionChooseWhy
ProductStatic datacenter proxyA fast fixed IP for downloads and RPC calls
BillingPer IP and termCharged per IP and term, not per GB of compilers and forks
How many IPsOne per developer machine or CI pipelineEach environment keeps its own exit and logs
CountryNear your RPC provider or where your CI runsNothing is preselected for Web3 — choose before you pay
ProtocolHTTP (preselected)Hardhat, curl and Node.js all take an http:// proxy URL in HTTPS_PROXY
IP changesNever during the termAllowlists and CI settings stay valid

The “Configure testnet proxies” button opens static datacenter proxies for the Web3 use case, billed per IP and term with HTTP selected. Choose the region, the term and Quantity (up to 100 IPs at a time) before you pay.

Which Proxy302 proxy to buy

Scroll horizontally with the arrow keys to read all content.

Which Proxy302 proxy to buy
CriterionStatic ISPRotating residentialDatacenter
What you getA home-broadband IP fixed to you for the whole termHousehold IPs: a sticky session in the country you pick, or rotation on the Budget lineFixed IPs in data centres — the console's fastest and cheapest option
PricePer IP and term, shown in PTC before you pay (1 PTC = US$1)Per GB: Budget US$1.50, Premium US$5.00, from 1 GBPer IP and term, shown in PTC before you pay
Best for testnet workTesting your dApp front end with a wallet in the browserChecking a testnet front end from several countries, paid per GBToolchains, forks, Sepolia RPC and CI — one fixed IP each

Prices in US dollars; you pay with PTC credit (1 PTC = US$1). Top up your wallet, then buy the line you need. Auto-renew isn't available yet, so renew static IPs in My assets before their term ends.

Set up a testnet proxy in 4 steps

  1. Open the developer setup

    The “Configure testnet proxies” button opens Static Datacenter Proxies with the Web3 use case selected. Under Connection settings pick the Region, choose the Term and keep Protocol at HTTP, set Quantity to the number of IPs you need (one per machine or CI pipeline, up to 100 at a time), then click Review cost and generate.

    Expected result Your configuration lists Per IP and term, Web3, the region and HTTP.

  2. Copy the connection details

    After payment the console opens My assets. Choose View credentials on the new proxy and copy the endpoint (host:port), username and password.

  3. Export the proxy for your toolchain

    In your shell or CI secrets set HTTPS_PROXY and HTTP_PROXY to http://USERNAME:PASSWORD@HOST:PORT and NO_PROXY to localhost,127.0.0.1, as in the example below. Hardhat and curl pick it up; start Node.js scripts with NODE_USE_ENV_PROXY=1.

  4. Check, then build

    Run curl -s https://ipinfo.io/ip — it must print the proxy's IP — then install or update Foundry, compile with Hardhat and run your Sepolia scripts.

    Expected result ipinfo.io prints the proxy's IP and the downloads finish.

Route the whole toolchain through the proxy (bash)

Scroll horizontally with the arrow keys to read all content.

# Proxy302 static datacenter IP from My assets
export HTTPS_PROXY="http://USERNAME:PASSWORD@HOST:PORT"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"

# 1. Check the exit IP your tools will use
curl -s https://ipinfo.io/ip

# 2. Install or update Foundry (the installer downloads from GitHub with curl)
curl -L https://getfoundry.sh/install | bash
export PATH="$PATH:${XDG_CONFIG_HOME:-$HOME}/.foundry/bin"  # the installer asks you to add this
foundryup

# 3. Hardhat 3 reads HTTPS_PROXY for JSON-RPC, forking, compiler downloads and verification
npx hardhat compile

# 4. Node.js 24.5+ scripts (fetch, viem) follow the same variables with NODE_USE_ENV_PROXY=1
NODE_USE_ENV_PROXY=1 node scripts/check-sepolia.mjs

Set the variables once per shell or CI job. Hardhat never proxies localhost, so a local node on 127.0.0.1 keeps working; percent-encode special characters in the password.

Quick fixes

407 Proxy Authentication Required

Check Does HTTPS_PROXY contain the username and password, with special characters percent-encoded?

Fix Copy them again from View credentials and encode characters such as @ or : in the password.

Calls to a local node start failing

Check Is localhost in NO_PROXY for the tools that call it?

Fix Hardhat never proxies localhost, but other tools may; keep NO_PROXY=localhost,127.0.0.1.

A faucet refuses to send test ETH

Check What limits or requirements does that faucet state?

Fix Follow its rules or use another faucet listed on ethereum.org. A different IP doesn't change a faucet's rules.

Testnet proxy FAQ

Which Ethereum testnet should I use?

Sepolia for application development; Hoodi for validators and protocol testing. Holesky has been deprecated since September 2025.

Does Hardhat need a plugin to use a proxy?

No. Hardhat 3 reads HTTPS_PROXY, HTTP_PROXY and NO_PROXY itself, for JSON-RPC requests, forking, compiler downloads and contract verification.

Can I use proxies to claim more from faucets?

No. Faucets set their own limits, so use them as intended — and run heavy tests on a local Hardhat network instead of a public testnet.

Datacenter or residential for development?

Datacenter. Tools and RPC calls don't need a household IP, the address stays fixed for allowlists, and you pay per IP rather than per GB of downloads.

Can CI use the same setup?

Yes. Store HTTPS_PROXY in the CI's secrets, give CI its own IP, and allowlist that IP with your RPC provider.

Sources and verification

8
  1. GreatFire Analyzer: github.com and raw.githubusercontent.com from mainland China

    Third-party source · Checked:

    Read on 2026-10-18: github.com was 83% disrupted (latest test 2026-10-01); raw.githubusercontent.com showed interference in all of its last 3 conclusive tests (latest 2026-09-26); registry.npmjs.org was reachable in its last test (2026-03-17).

    Independent connection tests; individual networks can differ.

  2. Hardhat documentation: using Hardhat 3 with an HTTP proxy

    Official documentation · Checked:

    Hardhat reads https_proxy / http_proxy (the uppercase HTTPS_PROXY and HTTP_PROXY work too) and NO_PROXY; proxies apply to JSON-RPC requests, mainnet forking, downloading compilers and verifying contracts; loopback addresses such as localhost are never proxied.

  3. Foundry documentation: installation, and the installer script

    Official documentation · Checked:

    Install with curl -L https://getfoundry.sh/install | bash, then run foundryup; manual installs download binaries from the GitHub releases page. Reading the installer on 2026-10-18 shows it downloads foundryup from GitHub releases using curl and asks you to add its bin directory to PATH before running foundryup.

  4. curl manual: environment variables

    Official documentation · Checked:

    curl reads http_proxy (lowercase only), HTTPS_PROXY, ALL_PROXY and NO_PROXY; lowercase versions take precedence.

  5. Node.js documentation: built-in proxy support

    Official documentation · Checked:

    Added in v24.5.0 and v22.21.0: with NODE_USE_ENV_PROXY=1 or --use-env-proxy the global agent reads HTTP_PROXY, HTTPS_PROXY and NO_PROXY for fetch() and http/https requests; proxy URLs may include username:password.

  6. ethereum.org: networks (page updated 23 September 2026)

    Official documentation · Checked:

    Sepolia is the recommended default testnet for application development; Hoodi lets protocol developers test upgrades and stakers test validators; Holesky is deprecated as of September 2025; most faucets are web apps where you enter an address to request test ETH.

  7. Proxy302 static datacenter configuration for Web3

    Product observation · Checked:

    Read in the console source on 2026-10-18: for the Web3 use case the static datacenter page bills Per IP and term, offers HTTP or SOCKS5 with HTTP preselected, leaves Region unselected, shows Auto-renew IP as Not yet available and states that static IPs never rotate. Its Web3 note reads “Development and tools: Per IP · HTTP CONNECT by default · 1 fixed exit · adjustable protocol and term”. Since 19 October 2026 the Quantity field takes 1 to 100, and the console buys and charges the IPs one by one.

  8. Proxy302 pricing

    Product observation · Checked:

    Budget rotating residential US$1.50 per GB and Premium US$5.00 per GB, both from 1 GB; account credit in PTC at 1 PTC = US$1.00; static ISP and datacenter leases depend on region, quantity and term and are shown before you pay — as published on the pricing page (checked against the production catalogue on 2026-10-09).

Ready to connect?

Create an account, top up once and pick rotating residential, static ISP or datacenter. Rotating residential exits cover 195+ countries and regions.