Voidly
Atlas · live from OONI

Payment access, measured

Where the payment layer is censored

Reachability is measured for the network. Nobody measures it for money. An agent in Tehran can often reach an API and still be unable to pay for it — and every map of the internet published today treats those two facts as the same fact.

200,637 measurements · 74 countries · 9 payment endpoints with usable coverage · 25 dropped for lack of it

Read this before the numbers

“Reachable” is an upper bound on payability. A blocked cell is strong evidence of a network block. A reachable cell means only that the network path is open — not that anyone in that country can actually move money. Sanctions screening, KYC geo-gates and provider-side refusal all happen after a successful connection, and this method cannot see any of them.

That gap is the finding. The network layer is mostly open; payment is gated somewhere the network cannot be measured. Which is precisely why an agent that has to transact across borders cannot rely on reachability data alone.

200,637
OONI measurements
consumer vantages, inside each country
14
countries with obstruction
of 74 measured
Coinbase
most blocked endpoint
network-blocked in 5 countries
Indonesia
most restrictive
6 endpoints blocked

The obstructed countries

Only countries where at least one payment endpoint shows network interference. Every cell needs at least 30 measurements to appear at all; thinner cells are shown as no coverage rather than guessed.

CountryPayPalWestern UnionCoinbaseBinanceKrakenKuCoinBitfinexBlockchain.comEtherscan
China CN
Indonesia ID
GN GN
Uzbekistan UZ
Kazakhstan KZ
LV LV
Iran IR
Russia RU
Pakistan PK
India IN
Myanmar MM
Venezuela VE
Philippines PH
Canada CA

Scroll to see every column.

network path opendegradedpartial interferencenetwork blockbelow the measurement floor

What is missing, and why

Whole layers of the payment stack have no usable measurement coverage. They are dropped rather than shown empty, because an empty cell reads as measured and clean when it means never measured.

Layers with no coverage: card network, stablecoin issuer, evm rpc, x402 facilitator, wallet software
25 endpoints dropped: Visa, Mastercard, American Express, Tether, Circle (USDC), Base RPC, Infura, Alchemy, Ankr RPC, Cloudflare ETH gateway, LlamaRPC, x402.org, Coinbase CDP / developer, MetaMask, …

The limits, in full

These ship inside the API response, not only on this page, so a machine reading the data gets them too.

vantage

Measured entirely from OONI consumer vantages inside each country. Voidly's own probe fleet is deliberately NOT used here: every live Voidly vantage is a datacenter IP (Vultr/Fly) in an open country, so pointing it at a payment domain would measure that provider's WAF policy toward datacenter ranges, not censorship — the same error class as the CensoredPlanet CDN false-positive in this project's history.

block vs geofence

OONI's blocking_type taxonomy separates network interference (dns, tcp_ip, http-failure — a payment provider cannot poison DNS or reset TCP inside the user's country) from content-layer difference (http-diff — where a provider 403-by-policy would land, alongside injected ISP blockpages). MEASURED, NOT ASSUMED: over this window OONI reports 0 http-diff measurements across all covered payment domains — see blocking_type_totals. The label is real and does appear for other domains, so its absence here is a property of the data, not of the query. Consequence: every positive signal in this matrix is network-layer.

reachable is an upper bound

THE MOST IMPORTANT LIMIT. A "blocked" cell is strong evidence of a network block. A "reachable" cell means only that the NETWORK PATH IS OPEN — it does NOT mean an agent in that country can actually pay. Sanctions screening, KYC geo-gates and PSP geoblocking are enforced at the provider after the connection succeeds, and are invisible to this method. Network reachability is therefore an UPPER BOUND on payment availability, and the gap between the two is the unmeasured geofence layer. Do not cite a reachable cell as evidence that payment works.

coverage gaps

Targets are included only where OONI has usable coverage; the rest are DROPPED and listed in dropped_for_no_coverage with the measurement counts that disqualified them, so a gap never reads as "measured and clean". Whole layers are unmeasurable this way and are absent rather than empty: card_network, stablecoin_issuer, evm_rpc, x402_facilitator, wallet_software. Notably, card networks (Visa/Mastercard/Amex), stablecoin issuers (Tether/Circle), public EVM RPC endpoints including Base, and x402 facilitators have effectively zero OONI coverage — OONI measures what the Citizen Lab test lists contain, and machine-to-machine payment infrastructure is largely not on those lists. This matrix therefore covers the human-facing payment web, not the agent-facing rail. The measurement counts in dropped_for_no_coverage are a dated snapshot from coverage_audit_date (2026-08-04), not live values — every other number in this response is recomputed on each refresh.

thresholds

The status bands and the 30-measurement floor are analyst-chosen, not learned or validated against labelled ground truth. They are published here so a reader can recompute with their own cut-offs from the raw counts in each cell.

confirmed is not a ceiling

confirmed_rate counts only measurements matching a known blockpage fingerprint. Censors that drop, reset or DNS-poison without serving an identifiable blockpage produce anomalies with confirmed = 0 — China is the clearest example in this dataset. A low confirmed_rate is therefore NOT evidence of absence of blocking.

Why we measured this

Machines are becoming the primary users of the internet, and a machine that has to buy something inherits a problem it cannot see: the network is different depending on where it stands. This is the first half of that picture — the half that can be measured from the outside. The half that cannot be measured is the reason the other three parts of this stack exist.

Measured from OONI consumer vantages inside each country. Voidly’s own probe fleet is deliberately not used here: every live Voidly vantage is a datacenter IP in an open country, and pointing it at a payment endpoint would measure that provider’s firewall policy toward cloud ranges, not censorship.

generated 2026-09-30T11:50:59.746Z