Regions & endpoints
All nine aRPC Solana streaming endpoints, from Frankfurt to Tokyo, and how to pass them to a gRPC client.
aRPC runs in all nine Corvus metros, and every endpoint follows the same shape:
http://arpc.<region>.corvus-labs.io:20202| Metro | Code | aRPC endpoint |
|---|---|---|
| ๐ฉ๐ช Frankfurt | fra | http://arpc.fra.corvus-labs.io:20202 |
| ๐ณ๐ฑ Amsterdam | ams | http://arpc.ams.corvus-labs.io:20202 |
| ๐ฌ๐ง London | lon | http://arpc.lon.corvus-labs.io:20202 |
| ๐ฎ๐ช Dublin | dub | http://arpc.dub.corvus-labs.io:20202 |
| ๐ฑ๐น ล iauliai | sqq | http://arpc.sqq.corvus-labs.io:20202 |
| ๐บ๐ธ New York | nyc | http://arpc.nyc.corvus-labs.io:20202 |
| ๐บ๐ธ Salt Lake City | slc | http://arpc.slc.corvus-labs.io:20202 |
| ๐ฏ๐ต Tokyo | tyo | http://arpc.tyo.corvus-labs.io:20202 |
| ๐ธ๐ฌ Singapore | sgp | http://arpc.sgp.corvus-labs.io:20202 |
Every hostname resolves, but you're only allowlisted in the regions you've rented; your dashboard shows which.
Pass the endpoint to a gRPC client
Keep the http scheme, never https (transport security). tonic takes the URL directly. @grpc/grpc-js dials a bare host:port target, so hand it the URL's host:
const { host } = new URL('http://arpc.fra.corvus-labs.io:20202');
const client = new arpc.ARPCService(host, grpc.credentials.createInsecure());// No TLS config on the channel.
let channel = Channel::from_static("http://arpc.fra.corvus-labs.io:20202")
.connect()
.await?;Pick a region
Choose by measured round trip from the host that will actually run the client.
aRPC covers nine metros to Solana RPC's five (regions), so if you stream from a metro where Solana RPC isn't offered, your confirmation calls will go to a different region than your stream.
Fail over
A region that loses its aRPC backend fails over on its own: the endpoint keeps serving from a healthy region, rented or not. There's still no replay, so every reconnect starts from scratch: open a new stream, re-register your complete filter set, wait for the FilterValidationResult messages if you're on v2, and reset that stream's sequence baseline.
aRPC v2
Reference for aRPC v2 gRPC: Solana entry, decoded transaction, binary transaction, and slot streams with dynamic account filters.
Limits & operations
Run aRPC Solana streams in production: the PPS disconnect, the filter-update ceiling, the 10-second heartbeat, and what sequence cannot tell you.