Phase Proxy
Data-center traffic is often blocked or rate-limited. Phase Proxy routes AI agents' requests through mobile and residential connections across the Phase network, opening up the web at significantly lower prices than comparable mobile proxy services.
The problem agents face
The same smartphone fleet that secures Phase powers a second network function: a mobile proxy layer for AI agents.
AI agents are the fastest-growing consumers of web traffic — and the most blocked. Traffic originating from datacenter IP ranges is routinely challenged, rate-limited, or refused outright. Agents need sessions that look like the users they act for: real traffic from real mobile networks. Mobile-origin sessions at scale are exactly what existing proxy providers sell — opaquely sourced, at $2–9 per GB.
How the Phase proxy layer works
Every Phase validator node can opt in as a proxy exit node — one flag and the address of a billing service, no extra hardware; the mobile build's defaults do not switch it on.
An agent (or its infrastructure) runs a lightweight client that exposes a local SOCKS5 endpoint; traffic travels over the same iroh transport that carries consensus — with the same NAT traversal and relay fallback — to a validator phone, and exits to the internet from that phone's genuine mobile IP.
The exit relays encrypted bytes; it never terminates TLS and never sees the content of the traffic.
On-chain, prepaid, dispute-proof billing
Proxy usage is settled on-chain. An agent pre-funds a balance in a dollar-denominated stable asset; usage is metered per session and settled in idempotent batches — double-charging is impossible by construction, and the unspent balance is always withdrawable. Off chain, the billing service attributes every session to the specific exit node that carried it, and the validators whose phones carry the traffic earn their share of that revenue — proportional to the revenue their exits earned, settled daily, and paid in PHASE acquired on the open market — on top of their block rewards. The underlying demand comes from agents paying for real infrastructure, a source of network revenue that does not depend on a speculative cycle.
Proxy revenue becomes PHASE demand
100% buyback commitment. All proxy revenue — every dollar agents spend on mobile egress — is committed to open-market purchases of PHASE. Nothing is held back as operating profit by the Foundation: proxy income is converted into PHASE demand, and the validators who carried the traffic are paid their share in that market-bought PHASE. Every unit of proxy usage therefore translates directly into buy-side demand for the token — revenue from outside the crypto economy, converted on-market, never minted.
The cycle runs daily:
Collect. Agents' payments for proxy usage accumulate over the day in the dollar-denominated billing asset — say, $1,000 across the fleet.
Buy. The full amount is used to purchase PHASE on the open market.
Distribute. Once per day, the purchased PHASE is credited to the exit devices pro rata to the revenue each earned that day. If five phones earned the day's revenue between them and one phone earned half of it, that phone receives 50% of the day's distribution; the remaining four, having earned equal shares, receive 12.5% each.
The billing service already attributes every paid session to the exit that carried it, so the split follows metered, paid usage, not an estimate; on chain, settlement records what each agent paid, not which exit carried the traffic. This closes the loop between the network's two functions: the consensus fleet produces the proxy service, agents pay for it in dollars, that revenue buys PHASE on the open market, and the purchased PHASE pays the phones that did the work. The token sits at the center of the flow not by decree but by construction: as agent demand for mobile egress grows, so does recurring, usage-driven demand for PHASE. At launch the buyback-and-distribute programme is an operating policy of the Foundation, executed transparently; moving its execution on-chain is on the roadmap.
Safe for the validator
The exit enforces strict egress protection: connections to loopback, private ranges, link-local, and cloud-metadata addresses are refused — including IPv6-mapped disguises — so the phone can never be used to reach its own node or internal networks. Global and per-peer connection caps and a per-account rate limit on new tunnels bound how much proxy work the exit admits, and the exit runs on an iroh endpoint of its own, apart from the one that carries consensus. These bound sessions and tunnel openings, not bytes, so they do not by themselves keep proxy traffic from competing with the validator's consensus duties for CPU and bandwidth.
Roadmap: agent nodes
Alongside validator nodes, Phase is developing a lightweight agent node — a minimal client that submits transactions and consumes network services without storing chain state or participating in consensus. It is the entry point for developers who want to plug agents into the mobile proxy layer and settle usage on-chain without operating a full node — turning Phase into agent-facing infrastructure: the chain as the settlement layer for agent commitments, and the mobile fleet as the utility those agents consume.
Quickstart
This page shows how to open a Phase Proxy gate: a local SOCKS5 port whose traffic exits to the internet through a validator phone's mobile IP. Billing is mandatory: every exit runs the billing protocol, so there is no free relay to fall back to and no way to pin an exit by node id.
Run setup.sh in your terminal. It prompts for the billing URL and, at a hidden prompt, for the private key of the wallet that holds the USDT deposit, and writes them to config.env (chmod 600). Run open-gate.sh. It starts the client, waits until the local SOCKS5 port is listening and prints:
GATE_ENDPOINT=socks5h://127.0.0.1:1080 GATE_PID=12345 GATE_LOG=/tmp/iroh-proxy-gate/gate.log
Route your traffic through GATE_ENDPOINT. Use the socks5h:// scheme (the h) so DNS is resolved on the proxy side, not locally:
curl -x socks5h://127.0.0.1:1080 https://api.ipify.org # returns the exit node's IP curl -x socks5h://127.0.0.1:1080 https://example.com
Do not put the private key on the command line or into a chat: it ends up in shell history, the process list or a transcript. Run close-gate.sh. Traffic through the gate is charged, and a withdrawal is not approved while a session is open.