Public endpoints ration requests per IP. Solana's public RPC endpoints allow 100 requests per 10 seconds per IP, 40 per 10 seconds for a single RPC method and 40 concurrent connections, and Solana says they are not intended for production applications. Every script behind one office or cloud address shares that budget.
Provider keys can be locked to an address. Alchemy lets you allowlist IPv4 addresses for an app, and requests with your API key from any other address are blocked. A static datacenter IP gives every developer laptop, CI runner and server one address to put on that list, even when your own connection changes.
Some networks can't reach node infrastructure reliably. In mainland China, GreatFire's latest test fails for solana.com. Cloudflare reported in June 2025 that Russian ISPs throttle connections to its network and to hosting providers including Hetzner, DigitalOcean and OVH, and its documentation, updated in April 2026, still describes the throttling. A fixed exit abroad keeps node calls on one predictable route.
Scroll horizontally with the arrow keys to read all content.
Recommended RPC setup
Criterion
Choose
Why
Product
Static datacenter proxy
A fixed, fast IP and the console's cheapest per-IP option
Billing
Per IP and term
One address to allowlist for the whole term
How many IPs
One per environment: development, CI, production
Separate allowlist entries and logs per environment
Country
Close to your provider's servers or the region you must call from
Nothing is preselected for Web3 — choose before you pay
Protocol
HTTP (preselected) or SOCKS5
HTTP works with web3.py, Node.js and curl
IP changes
Never during the term
The allowlisted address stays valid while you renew
The “Configure RPC 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.
Scroll horizontally with the arrow keys to read all content.
Which Proxy302 proxy to buy
Criterion
Static ISP
Rotating residential
Datacenter
What you get
A home-broadband IP fixed to you for the whole term
Household IPs: a sticky session in the country you pick, or rotation on the Budget line
Fixed IPs in data centres — the console's fastest and cheapest option
Price
Per 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 GB
Per IP and term, shown in PTC before you pay
Best for RPC calls
Wallet sessions in a browser — scripts don't need a home-broadband IP
Checking public endpoints from several countries; per-GB billing adds up on heavy node traffic
Scripts, bots, indexers and CI — one allowlisted 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.
The “Configure RPC 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 environment, 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.
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.
Allowlist the IP with your provider
Take the IP from the endpoint and add it to your RPC provider's allowlist — in Alchemy that's the Security tab of the app. Keep the provider's API key and the proxy password in separate secrets.
Route your client through the proxy
In Python pass the proxy in web3.py's request_kwargs, as in the example below. On Node.js 24.5 or later start your script with NODE_USE_ENV_PROXY=1 and HTTPS_PROXY=http://USERNAME:PASSWORD@HOST:PORT. Check the chain ID and the latest block before running real jobs.
Expected result The script prints the chain ID and the latest block number.
Send RPC calls through the proxy (web3.py)
Scroll horizontally with the arrow keys to read all content.
# pip install web3
from web3 import Web3
PROXY = "http://USERNAME:PASSWORD@HOST:PORT" # static datacenter IP from My assets
RPC_URL = "https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY" # your provider endpoint
w3 = Web3(Web3.HTTPProvider(
RPC_URL,
request_kwargs={"proxies": {"http": PROXY, "https": PROXY}, "timeout": 30},
))
print("chain id:", w3.eth.chain_id)
print("latest block:", w3.eth.block_number)
web3.py passes request_kwargs to every request it sends to the node, and Requests accepts a proxy URL with user:password@host. If you bought a SOCKS5 IP, install requests[socks] and use socks5h://.
Check Is the proxy's exit IP on the key's allowlist? Open ipinfo.io/ip through the proxy to see the exit address.
Fix Add that exact IPv4 address to the allowlist and wait a few minutes for the change to apply.
HTTP 429 from a public endpoint
Check How many requests per 10 seconds do your scripts send from this IP?
Fix Slow down or move the job to your own provider endpoint. Public endpoints aren't meant for production, and adding IPs to squeeze more out of a free endpoint isn't the fix.
ProxyError or 407 in Python
Check Does the proxy URL start with http://, include the username and password, and use the right port?
Fix Copy the endpoint and credentials again from View credentials and URL-encode any special characters in the password.
RPC proxy FAQ
Does a proxy raise my RPC rate limit?
No. A proxy changes where requests come from, not your provider plan. Public endpoints such as Solana's limit each IP and aren't meant for production, so put real workloads on your own provider endpoint.
No. Proxy302 sells network exits; you still need an RPC endpoint from a provider or your own node. The proxy sits between your client and that endpoint.
How do I proxy a Node.js script that uses viem or fetch?
On Node.js 24.5 or 22.21 and later, run it with NODE_USE_ENV_PROXY=1 and HTTPS_PROXY=http://USERNAME:PASSWORD@HOST:PORT. Node then sends fetch() and requests on its default agent through the proxy.
Not over HTTPS. The proxy sees the provider's hostname and port; the path with your API key and the request bodies stay encrypted between your client and the provider.
HTTP or SOCKS5 for RPC clients?
HTTP is preselected and works with web3.py, Node.js and curl. Choose SOCKS5 only if a tool needs it; in Python install requests[socks] and use socks5h:// so DNS resolves at the proxy.
Blockchain indexing proxy for data teams: run indexers, backfills and subgraph queries from one static datacenter IP — allowlisted with your RPC provider and steady for long jobs.
Testnet proxy for Web3 developers: send Hardhat, Foundry and Node.js traffic — installs, compiler downloads, Sepolia RPC and verification — through one static datacenter IP with HTTPS_PROXY.
Fast datacenter proxies with fixed IPs, low latency and high concurrency — the lowest cost per IP for APIs, testing and bulk jobs. Pick the country; pay per IP and term.
Lists the public RPC limits for Mainnet, Devnet and Testnet: 100 requests per 10 seconds per IP, 40 requests per 10 seconds per IP for a single RPC, 40 concurrent connections per IP, 40 connections per 10 seconds per IP and 100 MB of data per 30 seconds; states that the public RPC endpoints are not intended for production applications.
Explains that an IP allowlist lets you specify IPv4 addresses from which requests can be made using your API key, blocking all others; it is set on the app's Security tab, and updates may take a few minutes to propagate.
Reports that since 9 June 2025 Russian ISPs have throttled users connecting to Cloudflare-protected services so that only the first 16 KB of a web asset loads, and that other providers including Hetzner, DigitalOcean and OVH are affected.
Read on 2026-10-18: states that ISPs within Russia are systematically throttling traffic to websites and services, restricting transfer to about 16 KB per connection; the page was last updated on 23 April 2026.
Cloudflare's own status text; it does not say how long the throttling will last.
Proxies are passed as {'http': …, 'https': …}; HTTP Basic Auth for a proxy uses the http://user:password@host/ syntax; SOCKS needs requests[socks], and socks5h:// resolves DNS on the proxy.
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, covering fetch() and http.request()/https.request(); proxy URLs may carry username:password.
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.
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.