Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ProtonVPN/android-app/llms.txt

Use this file to discover all available pages before exploring further.

Proton VPN for Android supports several VPN protocols. The protocol controls how your device establishes and encrypts the VPN tunnel. Each option involves different trade-offs between speed, compatibility, and censorship resistance.
Smart protocol is recommended for most users. It automatically selects the best available protocol for your network without any manual configuration.

Available protocols

Smart protocol automatically tests and selects the best protocol for your current network conditions. It tries protocols in order of preference — starting with WireGuard UDP — and falls back to alternatives if a protocol is blocked or unavailable.How it works:
  • Probes available ports and protocols at connection time
  • Falls back through WireGuard UDP → WireGuard TCP → WireGuard TLS (Stealth) as needed
  • Re-evaluates on each new connection
Smart protocol is the default and requires no manual intervention. Use it unless you have a specific reason to pin a particular protocol.

Protocol comparison

ProtocolSpeedCompatibilityCensorship resistanceNotes
SmartAdapts automaticallyExcellentYes (falls back to Stealth)Recommended default
WireGuard (UDP)FastestGoodLowBest speed on open networks
WireGuard TCPGoodExcellentModerateWorks through strict firewalls
Stealth (WireGuard TLS)GoodExcellentHighUse when VPN is blocked
ProTunGoodGoodModerateProton custom transport layer

Changing the protocol

You can change the protocol globally in Settings, or override it per connection profile.

Global setting

1

Open Settings

Tap the Settings icon in the bottom navigation bar.
2

Select Protocol

Tap Protocol under the Connection section.
3

Choose a protocol

Select one of the available options. The change takes effect on your next connection.If you are currently connected, disconnect and reconnect for the new protocol to be used.

Per-profile override

Profiles can have their own protocol setting that overrides the global default. See Connection profiles for details.

Build docs developers (and LLMs) love