CoinGecko answers 429
Check Are you calling without an API key?
Fix Add your own CoinGecko key so the limit belongs to your plan, and poll less often; keyless limits are shared by everyone on the same IP.
Keep TVL and price monitors running from networks that block DeFi sites — and see a protocol's front end the way users in each country see it.
DeFi data sites are blocked in mainland China: GreatFire's latest test of defillama.com failed, and coingecko.com was blocked in its last test in May 2026. Analysts and protocol teams there need an exit abroad for the dashboards and APIs they watch.
Data APIs ration keyless traffic per IP. CoinGecko's documentation says requests without an API key are rate-limited per IP, with the limit shared across all users on that IP, and answered with 429 once it's exceeded. DefiLlama's free API at api.llama.fi needs no key at all: /protocols lists protocols and /tvl/{protocol} returns a protocol's current TVL.
Front ends differ by country. dApps apply regional rules to their interfaces — Polymarket, for one, documents blocked and close-only jurisdictions and returns the detected country from a geoblock endpoint. A residential IP in a country shows what users there see. The DefiLlama and CoinGecko websites answered a plain script request with 403 in our check, so look at web pages in a real browser and automate through the APIs.
Scroll horizontally with the arrow keys to read all content.
| Criterion | Choose | Why |
|---|---|---|
| Product | Rotating residential proxy | A household IP in the country you check |
| Billing | By traffic, Premium or Budget line | Monitors that poll JSON APIs use little traffic |
| How many endpoints | One per country you monitor | Each country keeps its own sticky session |
| Country | The markets you watch, plus one baseline country | Nothing is preselected for Web3 — choose before you generate |
| Protocol | HTTP (preselected) or SOCKS5 | Works with Python, Node.js and browsers |
| IP changes | Sticky in the chosen country, not permanently fixed | For a dashboard on one fixed IP, choose static ISP |
The “Configure DeFi monitoring proxies” button opens rotating residential proxies for the Web3 use case, billed by traffic. Buy traffic for the line you choose, then pick the region before you generate.
Scroll horizontally with the arrow keys to read all content.
| 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 DeFi monitoring | One dashboard kept open all day on a single IP | TVL and price monitors from blocked networks; per-country front-end checks | High-volume polling of keyed APIs from your own server |
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 DeFi monitoring proxies” button opens Rotating Residential Proxies with the Web3 use case selected. Choose the Line, then under Traffic allowance click Add traffic and buy a package or enter Custom GB. Under Connection settings keep Exit mode at Choose region / sticky IP, pick the Region and Protocol, and click Review cost and generate. Generate one endpoint per country you monitor.
Expected result Your configuration lists By traffic, Web3, Choose region / sticky IP and the region.
After payment the console opens My assets. Choose View credentials on the new proxy and copy the endpoint (host:port), username and password.
Pass the proxy on each request in your monitor, as in the example below, and add your CoinGecko API key wherever you call CoinGecko. For front-end checks, open the protocol's app in a browser profile that uses the same endpoint.
Retry once after a timeout before alerting, and treat a 429 as a signal to slow down rather than an outage. Check the exit country with ipinfo.io before each front-end check.
Expected result Alerts fire only on real changes in TVL or price, not on single network errors.
Scroll horizontally with the arrow keys to read all content.
# pip install requests
import time
import requests
PROXY = "http://USERNAME:PASSWORD@HOST:PORT" # residential endpoint from My assets
PROXIES = {"http": PROXY, "https": PROXY}
PROTOCOLS = ["uniswap", "aave"] # DefiLlama protocol slugs
DROP_ALERT = 0.10 # alert when TVL falls 10% between two checks
last = {}
while True:
for slug in PROTOCOLS:
r = requests.get(f"https://api.llama.fi/tvl/{slug}", proxies=PROXIES, timeout=30)
if r.status_code == 429:
time.sleep(60)
continue
r.raise_for_status()
tvl = float(r.text)
if slug in last and tvl < last[slug] * (1 - DROP_ALERT):
print(f"ALERT {slug}: TVL fell from {last[slug]:,.0f} to {tvl:,.0f} USD")
last[slug] = tvl
time.sleep(2)
time.sleep(600) # check every 10 minutes
A small TVL monitor on DefiLlama's free API: it backs off for a minute on 429 and prints an alert when a protocol's TVL falls by the threshold between two checks. Replace the slugs with the protocols you track.
Check Are you calling without an API key?
Fix Add your own CoinGecko key so the limit belongs to your plan, and poll less often; keyless limits are shared by everyone on the same IP.
Check Is it fetching website pages instead of the API?
Fix Use the API endpoints — api.llama.fi, or CoinGecko's API with your key — and keep website pages for the browser.
Check Does ipinfo.io in each browser profile show the expected country?
Fix Give each profile its own endpoint in the right country. A sticky session can change when it ends, so check the exit before each run.
Only if your network can't reach it — defillama.com is blocked in mainland China. The free API itself needs no key.
CoinGecko limits keyless calls per IP and shares that limit with everyone on the IP. With your own key, the limit belongs to your plan instead.
Residential when you need to see what users in a country see, or when a site is strict with datacenter traffic. Datacenter for high-volume polling of keyed APIs from your own server.
No. Stay within each API's published limits or buy a higher plan; a monitor that backs off on 429 stays reliable.
The markets your protocol serves or restricts, plus one country where every API loads for you, as a baseline to compare against.
Third-party source · Checked:
Read on 2026-10-18: defillama.com was blocked in its latest conclusive test (2026-07-31); coingecko.com was blocked in its last test (2026-05-09) and hasn't been tested since.
Independent connection tests; individual networks can differ.
Official documentation · Checked:
Free API at https://api.llama.fi with no authentication; GET /protocols lists protocols, GET /tvl/{protocol} returns the current TVL as a number and GET /protocol/{protocol} returns historical TVL, using slugs such as uniswap or aave.
Official documentation · Checked:
Keyless requests get IP-based rate limiting shared across all users on the same IP; paid plans' limits depend on the plan; 429 means rate limit exceeded and 1020 means blocked by a CDN firewall rule.
Official documentation · Checked:
Lists blocked and close-only jurisdictions for its front end and API, and documents GET https://polymarket.com/api/geoblock, which returns the detected IP, country and region.
Local example · Checked:
curl -sI on 2026-10-18: defillama.com, api.llama.fi, www.coingecko.com and api.coingecko.com answered with server: cloudflare and a cf-ray header; defillama.com and www.coingecko.com returned 403 to a plain curl request.
A single check; hosting can change.
Official documentation · Checked:
Pass proxies on each request so environment proxies don't override them; credentials use http://user:password@host/.
Product observation · Checked:
Read in the console source on 2026-10-18: for the Web3 use case the rotating residential page bills by traffic on a Premium or Budget line (a prepaid package, or PTC wallet debit where your account offers it), starts in Choose region / sticky IP mode — a sticky session in the chosen country, not a permanently fixed IP — and allows Global rotation only on the Budget line with prepaid traffic. HTTP or SOCKS5; each generation creates one endpoint. Its Web3 note reads “Public information research: Actual traffic billing · HTTP CONNECT / SOCKS5 · choose region · respect service limits”.
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).
Create an account, top up once and pick rotating residential, static ISP or datacenter. Rotating residential exits cover 195+ countries and regions.