A transport is how your app reaches the node. The route and its exit are the same whichever transport carries the traffic; only the disguise differs. Reality, Hysteria2, XHTTP and WebTunnel cost the route's price. olcRTC costs it too until 20 November 2026; from then on it has the network's own olcRTC price, read when the traffic moves. The olcRTC page lists the steps.
The transports
- Reality (TCP): the default. VLESS Reality on TCP port 443 borrows a real website's TLS identity. Works wherever TCP to the node works, and every listed app runs it. Start here.
- Hysteria2 (QUIC/UDP): Salamander-obfuscated QUIC. Fastest on lossy or long links, but it needs UDP, so it fails where UDP is blocked.
- XHTTP (TCP): VLESS over XHTTP with REALITY, sent as many HTTP requests. For networks whose DPI flags one long TLS flow. Needs an Xray-core app such as Happ or V2RayNG, and it uses its own port rather than 443, so it fails where only ports 80 and 443 are open.
- WebTunnel (TCP): VLESS over HTTPUpgrade inside TLS on port 443, to a real HTTPS name with its own certificate, so it looks like a visit to an ordinary website. For networks that cut Reality, Hysteria2 and XHTTP but still let ordinary HTTPS sites through. Needs an app that runs VLESS over HTTPUpgrade with TLS, such as Happ, V2RayNG or Hiddify. It is offered only on routes where its line is live, so Transports in subscription shows the choice only to an account that holds one.
- olcRTC: traffic inside a video call, for networks where the others are blocked. Slower, and it needs an olcRTC-capable app.
Getting them into your app
Your subscription URL carries the transports you choose under Transports in subscription. With All, every transport a route supports arrives as its own entry, so you can switch in the app when one stops working. The list for Happ, Hiddify and V2RayNG starts on Reality only; switch it to All to get the other transports too.
One route, several entries: Auto
A route's Config button shows its QR code and link per transport. Auto puts every transport the route supports into one QR code, and your app can test them and connect over whichever answers fastest. For Xray-core apps, Copy Xray JSON (advanced) gives a profile that checks each transport every few seconds and sends your traffic through one that currently works, falling back to Reality.
The switching happens in your app. The server does not move a live connection from one transport to another.
Which should I pick?
- Most networks: Reality.
- Reality slow or throttled, UDP allowed: Hysteria2.
- Reality flagged, UDP blocked: XHTTP.
- Reality cut but ordinary HTTPS sites still open: WebTunnel.
- Everything else blocked: olcRTC.