Using an IPv6 proxy is technically no different from IPv4 — but the address format and client behaviour hold a few traps. The most common problems do not come from the setup itself, but from writing the address incorrectly and from not understanding dual-stack behaviour.
Square brackets are mandatory because an IPv6 address already contains colons; without them, the port separator becomes ambiguous.
The most common mistake
2a01:4f8:c17:1a2b::7:8080 writing it this way. This is invalid — the last :8080 is taken to be part of the address. The correct form is: [2a01:4f8:c17:1a2b::7]:8080
Client Configuration
FIGURECorrect address formats
Using quotes in the environment variable matters; some shells mistake square brackets for a filename pattern and try to expand them.
Dual-Stack Behaviour
Most modern systems support both IPv4 and IPv6. If a domain has both kinds of address, which one does the client pick? That decision is made by the "Happy Eyeballs" algorithm, and the outcome can be surprising.
FIGUREWhich protocol is the connection established over?
This is why the "I am using an IPv6 proxy but my IPv4 address is showing" situation can occur: the client may simply have found the IPv4 path faster.
Forcing
To make sure you really are going out over IPv6, force the client: in curl, -6, in Python a custom connector with socket.AF_INET6 , in Node the family: 6 option.
Verification
FIGUREProving that the IPv6 exit is genuinely being used
Looking at the address format is the quickest check: colons mean IPv6, dots mean IPv4.
To see your exit address from the browser, you can use our My IP Address page.
Common Problems
FIGURETypical mistakes when setting up an IPv6 proxy
The first two rows are setup problems, the third is a behaviour problem, and the fourth is a problem with the target. Making this distinction during diagnosis saves time.
Hybrid Use: The Right Approach
The way to benefit from IPv6's cost advantage without running into compatibility problems is to work in hybrid mode:
FIGUREIPv6-first flow with IPv4 fallback
Do not run the DNS check on every request; cache the result per target. This reduces both latency and DNS load.
Summary
Setting up an IPv6 proxy is as simple as IPv4 once you pay attention to the address format. Three rules are enough: use square brackets when writing a port, verify that you really are going out over IPv6, and check whether the target has an AAAA record. Solving the compatibility problem with a hybrid flow lets you use IPv6's cost advantage without putting it at risk. For product details, see our IPv6 proxy page .
Frequently Asked Questions
01How should I write the IPv6 proxy address?
When using it with a port, enclose the address in square brackets: [2a01:4f8:c17:1a2b::7]:8080. Writing it without brackets is invalid, because the address already contains colons.
02I am using an IPv6 proxy but my IPv4 address is showing — why?
If the target has both an A and an AAAA record, the client may have chosen the faster path via the Happy Eyeballs algorithm. Force the client to IPv6 with -6 or AF_INET6.
03Can I reach every site over IPv6?
No. If the target has no AAAA record, it cannot be reached over IPv6. That is why an IPv6 proxy is usually used in a hybrid setup alongside IPv4.
04What happens if my local connection has no IPv6?
You will not be able to reach the IPv6 proxy at all. First test your local IPv6 connectivity with ping6; if you have none, you need to request IPv6 from your internet provider or use a tunnel.
05Why are IPv6 proxies so cheap?
There is no address scarcity; billions of addresses can be allocated to a single customer. The address fee, the largest cost item, drops to almost zero.