Falcon regions & endpoints
The nine Falcon metros for Solana transaction submission, with the exact host and port for JSON-RPC, HTTP, QUIC and native UDP.
Falcon runs in nine metros, and every host follows the same pattern: <region>.falcon.wtf.
| Metro | Code | Falcon host |
|---|---|---|
| ๐ฉ๐ช Frankfurt | fra | fra.falcon.wtf |
| ๐ณ๐ฑ Amsterdam | ams | ams.falcon.wtf |
| ๐ฌ๐ง London | lon | lon.falcon.wtf |
| ๐บ๐ธ New York | nyc | nyc.falcon.wtf |
| ๐ฏ๐ต Tokyo | tyo | tyo.falcon.wtf |
| ๐ฎ๐ช Dublin | dub | dub.falcon.wtf |
| ๐ธ๐ฌ Singapore | sgp | sgp.falcon.wtf |
| ๐บ๐ธ Salt Lake City | slc | slc.falcon.wtf |
| ๐ฑ๐น ล iauliai | sqq | sqq.falcon.wtf |
Solana RPC covers five of these nine metros; the cross-product matrix lays it out.
Ports by transport
| Transport | Endpoint | Protocol |
|---|---|---|
| JSON-RPC | http://<region>.falcon.wtf | TCP 80 |
HTTP /binary | http://<region>.falcon.wtf/binary | TCP 80 |
HTTP /plaintext | http://<region>.falcon.wtf/plaintext | TCP 80 |
| QUIC | <region>.falcon.wtf:5000 | UDP 5000 |
| Native UDP | <region>.falcon.wtf:9000 | UDP 9000 |
Frankfurt, in full:
JSON-RPC: http://fra.falcon.wtf?api-key=YOUR_API_KEY_UUID
/binary: http://fra.falcon.wtf/binary?api-key=YOUR_API_KEY_UUID
QUIC: fra.falcon.wtf:5000
UDP: fra.falcon.wtf:9000Your egress firewall needs outbound TCP 80, plus outbound UDP 5000 and/or 9000 with return traffic allowed for the QUIC connection. If you need a fixed source port for someone else's allowlist, falcon-client can bind a local address at connect time.
Choosing a region
Pick on round-trip time from the host that actually submits. Time a getVersion call against two or three candidates and take the winner. Your API key, the tip accounts, the minimum tip and your allowance are the same in every metro, so nothing changes when you switch region.
Troubleshoot a connection
| Symptom | Cause | Fix |
|---|---|---|
HTTP connects but every call is 401 | Missing or malformed api-key, or a revoked key | Test with getVersion; the key is a UUID |
QUIC connects then closes with Connection limit reached... | Too many concurrent connections for the key | Reuse one client |
| UDP sends succeed but nothing ever lands | Wrong port, malformed frame, missing tip, or an invalid transaction | Replay the same transaction over JSON-RPC to see the real error (Falcon native UDP) |
Raw bytes to /binary or /plaintext answered with a JSON-RPC parse error | The path was mistyped. Anything that isn't exactly /binary or /plaintext is handled as JSON-RPC; there's no 404 to warn you | Check the path spelling |
If access problems persist, ask on Discord; never post your API key, or a full URL containing it.
Falcon errors & retries
Every Falcon rejection by transport: JSON-RPC codes and messages, raw HTTP statuses, QUIC SubmitError codes, UDP silence, and what to retry.
Falcon telemetry
Instrument Falcon Solana submissions so acceptance and landing stay separate metrics, per transport, without ever logging your API key.