Breaking · 8 min read

Supabase Blocked in India: What Happened and How to Fix It

On February 24, 2026, developers across India woke up to broken apps. Supabase API calls started timing out on Jio, Airtel, and ACT Fibernet networks. Here is what happened, why the usual fixes do not work, and how to get your app running again in under five minutes.


What happened

Starting around February 24, 2026, Indian Internet Service Providers began DNS-blocking all subdomains under *.supabase.co. Any app that makes API calls to Supabase - whether REST queries, authentication flows, file uploads, or Realtime WebSocket connections - started failing with the dreaded ERR_CONNECTION_TIMED_OUT error.

The block is at the DNS level. When a user on an affected ISP tries to resolve yourproject.supabase.co, instead of getting Supabase's real IP address, their ISP returns a sinkhole IP. The request goes nowhere. The connection hangs until it times out.

Importantly, supabase.com (the marketing site and dashboard) was not blocked - only the .supabase.co API domain. This means you could still log into the Supabase dashboard but your production app could not reach the database.

Which ISPs are affected

The block has been confirmed across the largest Indian ISPs by subscriber count:

J

Reliance Jio

500M+ subscribers. India's largest ISP. Block confirmed on both 4G/5G mobile and JioFiber broadband.

A

Bharti Airtel

380M+ subscribers. Block confirmed on Airtel broadband and mobile data connections.

A

ACT Fibernet

Regional broadband provider. Block confirmed across multiple cities in southern India.

Reports from other ISPs including BSNL and Vi (Vodafone Idea) are still emerging. If you are on a different ISP and experiencing Supabase connectivity issues, the same fix described below applies.

Technical explanation: DNS poisoning and sinkhole IPs

The block works through DNS poisoning. When your app (or your user's browser) sends a DNS query to resolve a *.supabase.co domain, the ISP's DNS resolver returns a fake response pointing to a sinkhole IP address instead of Supabase's actual servers.

Here is what a DNS lookup looks like on an affected network:

terminal
$ nslookup myproject.supabase.co
Server: 198.18.0.1
Address: 198.18.0.1#53
Non-authoritative answer:
Name: myproject.supabase.co
Address: 49.44.79.236 ← sinkhole IP (not Supabase)

The IP 49.44.79.236 is not a Supabase server. It is a sinkhole - a dead-end IP that either drops the connection or returns nothing. Your app sends the request, gets no response, and eventually times out.

This block appears to be the result of a government ministry order issued to ISPs. DNS-level blocking of developer tools is not unprecedented in India - similar blocks have affected GitHub, Medium, and other platforms in the past.

What Supabase said

Supabase officially confirmed the block. The team acknowledged that Indian ISPs were blocking *.supabase.co domains and that they had reached out to India's Minister of IT, Ashwini Vaishnaw, on X (formerly Twitter) to seek resolution.

Supabase

Official response

"We are aware that several Indian ISPs are blocking access to *.supabase.co. We have reached out to the relevant authorities and are working to resolve this. In the meantime, developers can use a reverse proxy to route traffic through an unblocked domain."

As of the time of writing, there is no timeline for when (or if) the block will be lifted. History suggests these blocks can persist for weeks or months, which is why a proxy solution is the most reliable path forward.

Why changing DNS to 1.1.1.1 or 8.8.8.8 may not work

The first thing most developers try is switching to a public DNS resolver like Cloudflare's 1.1.1.1 or Google's 8.8.8.8. This bypasses the ISP's poisoned DNS and gets the real Supabase IP. It sometimes works for local development, but it has serious limitations.

Problems with the DNS workaround

  • Deep Packet Inspection (DPI): Some ISPs inspect the SNI (Server Name Indication) field in the TLS handshake. Even if DNS resolves correctly, the ISP sees you are connecting to *.supabase.co and blocks the connection anyway.
  • DNS-over-HTTPS interception: Some ISPs block or intercept DNS requests to known public resolvers at the network level, forcing traffic back through their own poisoned resolver.
  • Does not help your users: Even if you change DNS on your machine, your end users are still on their ISP's default DNS. You cannot ask 500 million Jio users to change their DNS settings.
  • Mobile networks: On Jio 4G/5G, changing DNS is difficult or impossible without root access or a DNS changer app. Most users will not do this.

The DNS workaround is a temporary band-aid for local development at best. For production applications, you need a solution that works transparently for all users without requiring them to change anything.

Why VPN is not a solution for production apps

A VPN tunnels all network traffic through a server in a different country, bypassing the ISP's DNS block entirely. It works, but it is not a viable solution for production applications.

User friction

You cannot ask every user visiting your app to install and enable a VPN. Most will leave instead.

Added latency

VPNs route traffic through distant servers, adding 50-200ms+ of latency to every API call.

Cost and reliability

Free VPNs are unreliable and may log traffic. Paid VPNs add ongoing cost to every user.

Not a server-side fix

A VPN is a client-side workaround. Production apps need infrastructure-level solutions.

The fix needs to be transparent to your users. They should not need to install anything, configure anything, or even know there is a block. That is where a reverse proxy comes in.

The real fix: Cloudflare reverse proxy

The solution is to route your Supabase traffic through a domain that is not blocked. A reverse proxy sits between your app and Supabase, forwarding requests through an unblocked domain on Cloudflare's edge network.

Here is how it works:

Your App

Browser / Client

HTTPS

JioBase Proxy

Cloudflare Edge

HTTPS

Supabase

*.supabase.co

Your app sends requests to yourapp.jiobase.com instead of yourproject.supabase.co. Since jiobase.com is not blocked, DNS resolves normally. The Cloudflare Worker receives the request at the edge and forwards it to Supabase on the server side, where there is no ISP block. The response flows back through the same path.

JioBase is a managed version of this proxy. Instead of setting up your own Cloudflare Worker, configuring DNS, handling CORS, and managing WebSocket upgrades, JioBase gives you a ready-to-use proxy endpoint with a dashboard, analytics, and support for the full Supabase API including Realtime.

What JioBase handles for you

  • REST API proxying (PostgREST, Auth, Storage, Edge Functions)
  • WebSocket proxying for Supabase Realtime (subscriptions, presence, broadcast)
  • Automatic CORS header management
  • Custom subdomains and custom domain support
  • Request analytics and monitoring dashboard
  • Minimal latency (1-5ms) via Cloudflare's 300+ edge locations

Step-by-step: How to fix your app with JioBase

The entire process takes less than five minutes. Here is what you need to do:

1

Create a JioBase account

Go to jiobase.com/register and sign up with your email. No credit card required. The free tier includes 50,000 requests per month, which is enough for most development and small production apps.

2

Create a new proxy app

From your dashboard, click "New App" and enter:

  • App name: A friendly label for your project (e.g., "My SaaS App")
  • Supabase project URL: Your existing project URL, like https://abcdefgh.supabase.co
  • Slug: A short identifier that becomes your proxy subdomain (e.g., myappmyapp.jiobase.com)
3

Swap the Supabase URL in your code

Find where you initialize the Supabase client in your codebase and replace the URL. That is the only change required. Your anon key, service role key, and all other configuration stays exactly the same.

4

Deploy and verify

Deploy your updated app. All Supabase API calls, authentication, storage uploads, and Realtime subscriptions will now route through JioBase's Cloudflare proxy. Test from a Jio or Airtel connection to confirm everything works.

Code example: the one-line change

Here is exactly what the change looks like in your Supabase client initialization. The only thing that changes is the URL - everything else stays the same.

Before (blocked on Indian ISPs):

lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'https://abcdefgh.supabase.co',
'your-anon-key'
)

After (works everywhere):

lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'https://myapp.jiobase.com',// ← changed
'your-anon-key' // ← same key
)

For apps using environment variables (recommended), you only need to update the environment variable:

.env
# Before
SUPABASE_URL=https://abcdefgh.supabase.co
# After
SUPABASE_URL=https://myapp.jiobase.com
# Key stays the same
SUPABASE_ANON_KEY=your-anon-key

No SDK changes needed. The Supabase client library does not care what domain the API is hosted on. It sends standard HTTP requests and WebSocket connections to whatever URL you provide. JioBase transparently forwards everything to your actual Supabase project.

Frequently Asked Questions

Is Supabase still blocked in India?
As of the last update, yes. The DNS block on *.supabase.co is still active on Jio, Airtel, and ACT Fibernet. There is no confirmed timeline for when it will be lifted. Using a reverse proxy is the most reliable solution.
Will changing DNS to 1.1.1.1 or 8.8.8.8 fix the issue?
It may work for local development on some ISPs, but it is not a production solution. Some ISPs use Deep Packet Inspection (DPI) that blocks connections even with correct DNS. More importantly, your end users are on their ISP's default DNS and cannot change it.
Does the proxy affect my Supabase project security?
No. The proxy is a transparent pass-through. It forwards all requests and headers (including your API keys) unchanged to Supabase over HTTPS. Your Row Level Security (RLS) policies, auth rules, and all other Supabase security features work exactly the same.
Can I self-host my own proxy instead of using JioBase?
Yes! We provide a free Worker Generator Tool that creates a ready-to-deploy Cloudflare Worker for you. Note that the self-hosted version does not include WebSocket/Realtime support, analytics, or rate limiting.
Which Supabase services work through the proxy?
JioBase supports the complete Supabase API: REST (PostgREST), Authentication, Storage, Edge Functions, GraphQL, and Realtime WebSockets. Everything works transparently - just change the URL.

Get your app working again

Stop losing users to DNS blocks. Set up JioBase in under five minutes and get your Supabase-powered app working for every user in India - no VPN required.

Free tier includes 1 proxy app and 50,000 requests/month. No credit card required.

Sunith VS

Written and verified by

Sunith VS

Building tools that help Indian developers ship without ISP interference. Creator of JioBase.