---
title: "Exit node"
url: https://proxy.wiki/glossary/exit-node/
type: Glossary Term
author: "proxy.wiki editorial"
published: 2026-08-19
updated: 2026-08-29
site: proxy.wiki
topics: ["Proxy fundamentals"]
license: CC BY 4.0 — quote freely with attribution to https://proxy.wiki/
---

# Exit node

> The final address in a proxy chain — the one the destination actually sees and records.

**The exit node is the last hop before the destination.** Its address is what the target server logs, what geolocation databases resolve, and what any block ultimately applies to.

## Why the distinction matters

You connect to a provider’s gateway, but the gateway is not what the destination sees. Between them may be several internal hops. When a provider advertises a country, they mean the exit node is in that country — the gateway you dial may be somewhere else entirely.

## Checking it

The only reliable way to know your exit address is to ask a service that echoes it back. That is exactly what a proxy checker does: it opens a real connection through your proxy and reports the address the far end observed.

## One request is one sample

Checking once tells you about that exit node at that moment. On a [rotating](/glossary/rotating-proxy/) endpoint the next request may leave from somewhere else entirely, so a single check is a diagnostic, not a measurement of the pool.

## One observation is not a property

Checking your address through a rotating endpoint tells you which exit served that one request. It does not describe the [pool](/glossary/proxy-pool/), and repeating the check gives a different answer. Three habits follow from this.

- **Record the address with the result** when a request fails. Without it you cannot tell a bad exit from a bad target.

- **Do not conclude a country is wrong from one sample.** Draw several before deciding.

- **Do not treat a working exit as reserved.** Unless you requested a [sticky session](/glossary/sticky-session/), the next request may use another.

## Capturing the exit with the response

```
curl -x http://user:pass@gateway.example:8000 -s \
     -w " exit=%{remote_ip} code=%{http_code}\n" \
     -o /dev/null https://example.com/
```

Note that `remote_ip` reports the address curl connected to, which is the gateway, not the exit. To learn the exit you must ask the destination side, so pair the request with a call to an address-reporting service inside the same session.

## Frequently asked questions

### Is the exit node the same as the gateway I connect to?

No. You connect to a gateway, and the gateway forwards through an exit node. The destination sees the exit node. Tools that report the address you connected to describe the gateway, not the exit.

### How many times should I check the exit before trusting the country?

Enough to see the spread rather than one draw. A single sample from a rotating endpoint describes one node at one moment, so treat a surprising result as a prompt to sample again rather than as a finding.

### Why does my exit address change mid-session?

Because rotation is the default on most residential endpoints. Holding one address requires an explicit sticky session, and even then the provider may replace an exit that drops off the network.

## Sources

1. [RFC 9110: HTTP Semantics, forwarding and intermediaries](https://www.rfc-editor.org/rfc/rfc9110.html)
