English

VRChat Server Information

Domains, IP addresses, and more

This article is intended to be updated over the long term. If you find any errors, please point them out in the comments (GitHub issues) and include supporting evidence.

#Summary

Domain IP Provider Location Purpose
vrchat.com 104.18.6.156, 104.18.7.156 Cloudflare San Francisco, California, US Official website (/home) and legacy API (/api)
wiki.vrchat.com Website results: 104.18.6.156, 104.18.7.156; Cloudflare DoH results: 8.6.112.0, 8.47.69.0 Cloudflare San Francisco, California, US Official Wiki
status.vrchat.com Many Amazon CloudFront CDN, Atlassian Multiple locations Official server availability monitoring
vrch.at 104.18.28.35, 104.18.29.35 Cloudflare San Francisco, California, US Short URLs for users, worlds, instances, groups, etc.[1]
api.vrchat.cloud 104.18.26.36, 104.18.27.36 Cloudflare San Francisco, California, US Website backend and game server API[2]
pipeline.vrchat.cloud 104.18.26.36, 104.18.27.36 Cloudflare San Francisco, California, US WebSocket API[3] that pushes group notifications, friend requests, friend status updates, and other messages to the game client
files.vrchat.cloud Results vary because of the CDN Amazon CloudFront CDN, AWS S3 Multiple locations Distribution of worlds, avatars, SDKs, and other resource files; the domain uses CloudFront with S3 behind it
file-variants.vrchat.cloud Results vary because of the CDN Amazon CloudFront CDN Multiple locations Downloads of worlds, avatars, SDKs, and other resource files in the game client
assets.vrchat.com Results vary because of the CDN Amazon CloudFront CDN, AWS S3 Multiple locations Distribution of image assets; the domain uses CloudFront with S3 behind it
ns.photonengine.io, *.exitgames.com, ns.photonengine.cn “Such an IP list does not exist as the Photon Cloud is changing too frequently” Photon Engine Multiple locations Real-time player movement and voice, the “VRChat is not responding” popup , and the “Your connection has timed out” popup[4]

#vrchat.com

The official website is at https://vrchat.com/home. There is also a subdomain, https://api.vrchat.com, although despite its name, it appears to do nothing more than redirect to another domain.

It also used to host APIs (in 2025 and earlier?), such as https://vrchat.com/api/1/file/image/code/{id}, which was used by the VRChat SDK in Unity. It is unclear whether all APIs have now moved to api.vrchat.cloud. A 2026 article I found still uses https://vrchat.com/api/1/file/{fileId} instead of https://api.vrchat.cloud/api/1/file/{fileId}, and calling the former one does not trigger a redirect to latter one.

I ran a local dnscrypt-proxy DoH proxy because some domains, such as vrchat.com, are poisoned by the GFW. These are the dig results. (More precisely, the HTTP traffic is proxied to a server in Japan and then sent via DoH to Cloudflare’s DNS servers, so the results are provided by Cloudflare. The same applies below and will not be repeated.)

1
2
3
4
5
6
dig @127.0.0.1 +short vrchat.com A
#104.18.6.156
#104.18.7.156
dig @127.0.0.1 +short vrchat.com NS
#nina.ns.cloudflare.com.
#owen.ns.cloudflare.com.

I cross-checked the results with two online DNS lookup sites. Unless the local result differs from both sites, this cross-check will not be mentioned again below.

#wiki.vrchat.com

The official Wiki is at https://wiki.vrchat.com. The locally resolved IPs differ from the two websites: the websites return the same IPs as vrchat.com, while the two local results are also Cloudflare IPs. Could this domain behind a CDN?

1
2
3
4
5
dig @127.0.0.1 +short wiki.vrchat.com A
#8.6.112.0
#8.47.69.0
dig @127.0.0.1 +short wiki.vrchat.com NS
#empty response

#status.vrchat.com

The server availability monitor is at https://status.vrchat.com. It resolves to many IPs. The bare IPs beginning with 99.86 belong to Amazon CloudFront, a CDN. It also uses Atlassian’s third-party platform through the stspg-customer.com and atlassian.com domains. Both lookup sites return different results depending on geographic location. FYI, the community also operates a monitor at https://metrics.vrchat.community.

1
2
3
4
5
6
7
8
9
dig @127.0.0.1 +short status.vrchat.com A
#gw6db8tk47y2.stspg-customer.com.
#status-vrchat-com-b6fffffd-4213-47ae-b0cb-30b98d501ff6.saas.atlassian.com.
#99.86.195.14
#99.86.195.45
#99.86.195.28
#99.86.195.56
dig @127.0.0.1 +short api.vrchat.com NS
#empty response

#vrch.at

I did not know this short domain existed until I saw it in the community-maintained API documentation1 (there is no official API documentation). It redirects to the corresponding https://vrchat.com/home/ URL.

1
2
3
4
5
6
dig @127.0.0.1 +short vrch.at A
#104.18.28.35
#104.18.29.35
dig @127.0.0.1 +short vrch.at NS
#nina.ns.cloudflare.com.
#owen.ns.cloudflare.com.

#api.vrchat.cloud

This API domain is used by both the game client and the website. Most of the REST APIs compiled by the community2 are under this domain. 104.18.26.0/24 and 104.18.27.0/24 are both Cloudflare IP ranges. Contrary to community rumors that VRChat is deployed on AWS, this domain at least is not.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# vrchat.cloud itself does not resolve to an IP
dig @127.0.0.1 +short vrchat.cloud A
#empty response
dig @127.0.0.1 +short vrchat.cloud NS
#owen.ns.cloudflare.com.
#nina.ns.cloudflare.com.

dig @127.0.0.1 +short api.vrchat.cloud A
#104.18.26.36
#104.18.27.36
dig @127.0.0.1 +short api.vrchat.cloud NS
#nina.ns.cloudflare.com.
#owen.ns.cloudflare.com.

#pipeline.vrchat.cloud

VRChat’s Websocket API, also known as “the pipeline”, is used receiving updates regarding the API, such as receiving an invite request. The connection is receive-only, meaning that you can only listen for messages. Sending messages is undefined behavior. – Community Wiki 3

Game client logs show that the client attempts to keep the WebSocket connected at all times. Based on the API features described in the community documentation, an unstable connection can prevent the game client from displaying up-to-date information: friends’ online status may be inaccurate, and various request notifications may never arrive. WebSocket is a long-lived TCP connection, if traffic for this connection goes through a proxy, the proxy’s TCP configuration can affect connection stability. This is explained later in Playing VRC Through a Proxy.

1
2
3
4
5
dig @127.0.0.1 +short pipeline.vrchat.cloud A
#104.18.27.36
#104.18.26.36
dig @127.0.0.1 +short pipeline.vrchat.cloud NS
#empty response

#files.vrchat.cloud

This domain hosts various resource files. The game client downloads World (.vrcw) and Avatar (.vrca) files from it, while VRChat Creator Companion (VCC) downloads the Unity VRC SDK from it. There is even a valid but rather mysterious test URL: https://files.vrchat.cloud/testfiles/100M.bin.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
dig @127.0.0.1 +short files.vrchat.cloud A
#d2jw20of4mijnb.cloudfront.net.
#108.157.229.115
#108.157.229.62
#108.157.229.48
#108.157.229.98
dig @127.0.0.1 +short files.vrchat.cloud NS
#d2jw20of4mijnb.cloudfront.net.
#ns-61.awsdns-07.com.
#ns-953.awsdns-55.net.
#ns-1451.awsdns-53.org.
#ns-1880.awsdns-43.co.uk.

Reverse DNS (PTR) lookups for the four bare 108.157.229.* IPs return CloudFront CDN domains. Both the local lookup and the websites return arn56.r.cloudfront.net for all four IPs. A search indicates that this is at Stockholm, Sweden (ARN is the IATA code for Arlanda Airport). Because a CDN is involved, clients in different regions should get different results when resolving files.vrchat.cloud.

1
2
dig @127.0.0.1 +short -x 108.157.229.*
#server-108-157-229-*.arn56.r.cloudfront.net.

There is evidence that this domain’s file resources are stored in AWS S3: the community API documentation notes that the file-transfer API returns an AWS S3 URL (presumably a presigned URL).

Requesting https://s3.amazonaws.com/files.vrchat.cloud/ shows that the bucket exists. The HTTP header contains x-amz-bucket-region: us-east-1, indicating that the bucket is in the “illustrious” us-east-1 region in Virginia, US. Requesting the bucket from another AWS region, such as https://s3.eu-west-1.amazonaws.com/files.vrchat.cloud/, returns a PermanentRedirect response. This indicates that the bucket does not use a multi-region redundancy strategy such as Multi-Region Access Points. Hmm… if us-east-1 goes down, VRC players probably will not be able to load worlds or avatars.

#file-variants.vrchat.cloud

Google Search (including AI-assisted search) reveals nothing about the purpose of this domain. It merely appears repeatedly in proxy-rule configurations posted online, although the domain does exist and resolves successfully. The results show that it also uses CloudFront, but there is no corresponding S3 bucket at https://s3.amazonaws.com/file-variants.vrchat.cloud. Naturally, the local and website lookup results differ.

Observing the game logs and network behavior shows that this is actually the domain from which the game client downloads World and Avatar files. In contrast, files.vrchat.cloud receives very little traffic and no new traffic while files are being downloaded.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
dig @127.0.0.1 +short file-variants.vrchat.cloud A
#d86w0jkslet2t.cloudfront.net.
#3.164.110.125
#3.164.110.9
#3.164.110.12
#3.164.110.87
dig @127.0.0.1 +short file-variants.vrchat.cloud NS
#d86w0jkslet2t.cloudfront.net.
#ns-1896.awsdns-45.co.uk.
#ns-237.awsdns-29.com.
#ns-515.awsdns-00.net.
#ns-1189.awsdns-20.org.

#assets.vrchat.com

This domain likely stores static assets such as images and thumbnails. A search shows that Udon Image Loading, the feature for loading images inside worlds, makes requests to it. The domain is also included in the game client’s built-in image-loading allowlist. It uses CloudFront, and the S3 bucket exists, again in us-east-1. Naturally, the local and website lookup results differ.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
dig @127.0.0.1 +short assets.vrchat.com A
#d14hwloucscbyy.cloudfront.net.
#3.173.219.57
#3.173.219.102
#3.173.219.39
#3.173.219.30
dig @127.0.0.1 +short assets.vrchat.com NS
#d14hwloucscbyy.cloudfront.net.
#ns-1331.awsdns-38.org.
#ns-1718.awsdns-22.co.uk.
#ns-268.awsdns-33.com.
#ns-674.awsdns-20.net.

#Real-Time Player Movement and Voice

As in other online games, player movement and voice in VRC worlds are transmitted over UDP. This type of information is highly time-sensitive, so losing some of it does not matter. VRChat uses resources from a platform called Photon Engine to handle these data transfers. As is well known, there are four geographic options when creating a world instance in VRC, corresponding to Photon Engine’s four regional clusters.

According to this official FAQ4 (and a forum post), the annoying “VRChat is not responding” and “Your connection has timed out” dialogs indicate a network problem between the computer and Photon Engine’s servers. Both that article and the official port-opening article use the term “real-time networking.” And here is a snippet I copied from my own game client log when the popup appears:

Error      -  [Behaviour] {{ NameServerAddress: 'ns.photonengine.io:27000', MasterServerAddress: 'gctok1018.exitgames.com:27001', GameServerAddress: '82.117.224.125:27002', Code: 'ClientTimeout', State: 'Disconnected', Time: '-1777227.993' }}
Debug      -  [Behaviour] Disconnected: ClientTimeout with Reason: 
Debug      -  [Behaviour] Connection summary: SCS v0 UDP SocketErrorCode: 0 WinSock
Error      -  [Behaviour] Timeout: 您与 VRChat 的连接已超时,请确认网络状态并重试。
Debug      -  [Behaviour] <color=red>Resetting game flow because "您与 VRChat 的连接已超时,请确认网络状态并重试。": [RejoinInstance, SkipLogin]</color>

Search results[5][6][7] show that the domains ns.photonengine.io and *.exitgames.com appear in game client logs. Photon Engine’s official documentation also lists the special Chinese domain ns.photonengine.cn. Observing the game logs and network behavior, however, I only saw requests to ns.photonengine.io: [Behaviour] Using nameserver host: ns.photonengine.io.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% dig @127.0.0.1 +short ns.photonengine.cn A
#nameserver.trafficmanager.cn.
#ec-nameserver-public-cn-default-chinanorth3.chinanorth3.cloudapp.chinacloudapi.cn.
#163.228.253.89 Taiwan
% dig @127.0.0.1 +short ns.photonengine.cn NS
#nameserver.trafficmanager.cn.
#ec-nameserver-public-cn-default-chinanorth3.chinanorth3.cloudapp.chinacloudapi.cn.

dig @127.0.0.1 +short ns.photonengine.io A
#nameserver-public.trafficmanager.net.
#ns-jp.photonengine.io.
#216.120.180.24 Cloudflare
dig @127.0.0.1 +short ns.photonengine.io NS
#nameserver-public.trafficmanager.net.
#ns-jp.photonengine.io.

dig @127.0.0.1 +short exitgames.com A
#65.52.128.33
dig @127.0.0.1 +short exitgames.com NS
#ns-1046.awsdns-02.org.
#ns-1936.awsdns-50.co.uk.
#ns-262.awsdns-32.com.
#ns-713.awsdns-25.net.

trafficmanager.cn and trafficmanager.net are Microsoft Azure domains. Well, that means Cloudflare, AWS, and Azure are all behind these three domains. Naturally, the local and website lookup results differ.

#Playing VRC Through a Proxy

Connecting to VRChat requires a reliable connection to Cloudflare, AWS Cloudfront, and Photon Engine and a stable connection to download content such as Worlds and Avatars. – https://help.vrchat.com/hc/en-us/articles/360062658433-Troubleshooting-Connection-Issues-with-VRChat

To download resource files, the game client generates a large volume of inbound traffic with file-variants.vrchat.cloud. If this domain’s DNS results are not poisoned on your local network, connecting directly can save proxy cost.

If inbound and outbound traffic for the WebSocket API domain (pipeline.vrchat.cloud) goes through a proxy, the proxy client and server’s TCP timeout settings, together with network instability, may result in a half-open TCP connection. One possible scenario is that the connection from the local proxy client to the proxy server remains healthy, while the connection from the proxy server to the pipeline server is unstable. The proxy server does not actively close its connection to the client and waits a long time for a response from the pipeline server. As a result, the local client keeps waiting without receiving a response.

The proxy rules below are based on a forum post and the information compiled above.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# https://clashparty.org/docs/guide/override/yaml
+rules:
  # --- vrchat start ---
  # Route UDP directly based on the port. If there are problems (check the game logs), change these rules to use the proxy.
  # Ports 5055 and 5056 are listed in the official documentation.
  # ref: https://help.vrchat.com/hc/en-us/articles/360062658793-Which-ports-do-I-need-to-open-for-VRChat
  # Port 5058 is listed by the community for Photon Engine voice traffic; Steam requires ports 27000-27100 to be open.
  # ref: https://portforward.com/vrchat/
  # ref: https://help.steampowered.com/en/faqs/view/2EA8-4D75-DA21-31EB
  - 'AND,((NETWORK,UDP),(DST-PORT,5055)),DIRECT'
  - 'AND,((NETWORK,UDP),(DST-PORT,5056)),DIRECT'
  - 'AND,((NETWORK,UDP),(DST-PORT,5058)),DIRECT'
  - 'AND,((NETWORK,UDP),(DST-PORT,27000-27100)),DIRECT'
  # Connect directly to Photon Engine domains (the UDP port rules above should match first, so UDP traffic should not reach these rules).
  - 'DOMAIN-SUFFIX,exitgames.com,DIRECT'
  - 'DOMAIN-SUFFIX,photonengine.io,DIRECT'
  - 'DOMAIN-SUFFIX,photonengine.cn,DIRECT'
  # Route other domains through the proxy.
  - 'DOMAIN,vrchat.com,Proxies'
  - 'DOMAIN,api.vrchat.cloud,Proxies'
  - 'DOMAIN,pipeline.vrchat.cloud,Proxies'
  - 'DOMAIN,files.vrchat.cloud,Proxies'
  - 'DOMAIN,file-variants.vrchat.cloud,Proxies'
  - 'DOMAIN,assets.vrchat.com,Proxies'
  # --- vrchat end ---
updatedupdated2026-07-152026-07-15