Skip to main content
TLDR:
  • Grove — the RPC gateway built by Pocket Network — has wound down, and its rpc.grove.city endpoints are retired.
  • Grove’s traffic moved to Pocket Network’s free public endpoints in Nov 2025; Grove the company closed in Jul 2026.
  • Migrating to Chainstack is a one-line change: swap the endpoint URL. The JSON-RPC methods and responses are identical.
  • The one code difference is authentication — a Chainstack endpoint carries an auth token, where Grove endpoints were open.

What happened to Grove

Grove ran the Grove Portal, the first gateway for Pocket Network, serving RPC across 60+ chains. It has now wound down in two stages:
  • In Nov 2025, Grove’s public and paid RPC traffic moved to Pocket Network’s free public endpoints at api.pocket.network, and Grove stepped away from operating the gateway.
  • In Jul 2026, Grove the company closed entirely. The rpc.grove.city and docs.grove.city domains no longer resolve.
Pocket Network itself continues under the Pocket Network Foundation, so the api.pocket.network public endpoints still work. They are free, shared, and rate-limited, with no SLA — fine for prototyping, but a production app wants dedicated capacity, higher throughput, and support.

Who should migrate

  • Apps still calling https://<chain>.rpc.grove.city/v1/<app-id> — these endpoints are offline, so the calls now fail.
  • Apps that followed Grove’s traffic to the free Pocket public endpoints — these still respond, but Chainstack adds dedicated capacity, higher rate limits, archive and debug/trace access, and support.

Change your endpoint URL

Migrating is a one-line change — point your client at a Chainstack node endpoint instead of your old Grove endpoint. Everything else in your code stays the same, because both speak standard JSON-RPC.
ProviderEndpoint (Ethereum example)
Grove (retired)https://eth.rpc.grove.city/v1/YOUR_APP_ID
ChainstackYOUR_CHAINSTACK_ENDPOINT
The same swap applies in your application code:
Non-EVM chains migrate the same way. On Solana, for example, you point your client at your Chainstack Solana endpoint and keep calling the standard Solana JSON-RPC methods.

Authentication is the one difference

Grove endpoints were open — no key, or an optional app-id in the URL path. A Chainstack node authenticates every request. The default method is an auth token already embedded in the endpoint URL, so you copy the full HTTPS endpoint from Chainstack and use it as-is — no code changes beyond the URL. For basic auth, the platform API key, or the gRPC x-token, see Authentication methods.

Map your chains

Chainstack supports the chains most Grove users run. Match the chain from your Grove endpoint subdomain to the Chainstack protocol:
Grove subdomainChainstack protocol
ethEthereum
baseBase
arb-oneArbitrum
opOptimism
polyPolygon
bscBNB Smart Chain
avaxAvalanche
gnosisGnosis Chain
lineaLinea
scrollScroll
sonicSonic
opbnbopBNB
harmonyHarmony
kaiaKaia
solanaSolana
suiSui
tronTRON
For the authoritative, current list of supported chains and networks, see Protocols and networks.

Get your Chainstack endpoint

1

Create a Chainstack account

Sign up with your GitHub, X, Google, or Microsoft account. No credit card is required to start.
2

Deploy a node

Create a project, then deploy a Global Node for your protocol and network. A Global Node is the load-balanced default that fits most workloads; for isolated infrastructure or debug and trace access, deploy a Dedicated Node.
3

Copy the endpoint

Open the node’s Access and credentials tab and copy the HTTPS endpoint — it already includes your auth token. See node access details.
4

Swap the URL and test

Replace the Grove URL in your app with the Chainstack endpoint, then send a test request to confirm you get a response.
Your migration is complete when a test call to your Chainstack endpoint returns the same result your Grove endpoint did for the same chain.

Next steps

Last modified on July 15, 2026