Use your proxy in 30 seconds

Two ways in: buy pool access yourself with USDC (no account, no key from anyone), or paste a pak_ access key a reseller gave you. Real 4G/5G mobile IPs from real phones - both land you at gw.proxies.sx:7000.

Buy pool access yourself with USDC (no account)

An AI agent or anyone with a wallet can buy Pool Gateway access directly over x402 - no signup, no API key. One USDC payment returns one credential that reaches every country in your tier (v1 tier mbl = production modems, $4/GB). The payment is the authentication.

1. Ask for the tier catalog and price (no payment -> HTTP 402)
# Catalog + live tiers (always 200, no payment):
curl -s https://api.proxies.sx/v1/x402/pool/pricing

# Quote a purchase: no payment returns HTTP 402 with the payment requirements
curl -s "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1"

# 2. Pay USDC on Base or Solana to the address in the 402 body, then retry with the tx hash:
curl -s "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1" \
  -H "Payment-Signature: YOUR_TX_HASH"
# Response: { proxy: { host: "gw.proxies.sx", httpPort: 7000, http: "http://...@gw.proxies.sx:7000", socks5: "socks5://...@gw.proxies.sx:7001", username: "psx_x402pool-mbl-us-...", password: "pak_..." }, sessionToken: "x402s_...", credit, manage }
# The username is the psx_ house identity; the pak_ key is the password. Plug both into the curl below.
# HTTP :7000 and SOCKS5 :7001 both work - GB is metered identically on either (see the SOCKS5 details section below).

Manage it afterward with the X-Session-Token the response gives you: GET /v1/x402/manage/pool/credit (remaining GB), POST /v1/x402/manage/pool/topup (more USDC -> more GB), GET /v1/x402/manage/pool/usage, POST /v1/x402/manage/pool/regenerate (new secret, same username).

Already have a pak_ key from a reseller?

Paste it below. The psx_ username goes in the username position and the pak_ key is the password.

Username
Access key

Try it (Bash / curl)

Run this in your terminal

  
Use it in Python
Python (requests)

    
Use it in Node.js
Node.js (undici)

    
Use it with Playwright (browser automation)
Playwright

    
SOCKS5 instead of HTTP

Any pak_ credential - reseller-distributed, or the psx_x402pool house credential from an x402 purchase above - works on SOCKS5 port 7001 with the exact same username/password, prefix socks5://. GB is metered identically to HTTP :7000.

SOCKS5 connection string

    

Troubleshooting

ProblemFix
407 Proxy Authentication RequiredMost common cause: you put the pak_ key in the username. It goes in the password position. The username is your psx_ proxy username plus -mbl-COUNTRY (e.g. psx_x402pool-mbl-us), and the password is the pak_ key. Use the form above to get the right format. Other causes: cap reached or key disabled.
502 Bad GatewayNo mobile device available for that country right now. Try a different country or wait 30 seconds.
Same IP every request, wanted rotationUncheck "Sticky session" above. That drops -rot-sticky, so the gateway default auto10 applies and re-picks a modem roughly every 10 minutes - not on every request. For faster turnover use -rot-auto5; for a new pick on each new connection use -rot-ondemand.
Different IP every request, wanted stickyCheck "Sticky session" and use the same Session ID for related requests. Sticky pins the modem, not the IP - mobile carriers can rotate egress IPs via CGNAT even on a pinned modem (T-Mobile is aggressive about this; Verizon less so). The gateway picks the most IP-stable modem available. For truly immutable IPs (cf_clearance, banking 2FA) use a dedicated port (/v1/x402/proxy) or, if your reseller pak_ key allows the peer pool, a residential peer exit. Note: x402-bought pool credentials always serve from modems - peer routes in the username are silently rewritten to mbl by design.
Slow / hangsTest first against https://api.ipify.org - that returns the proxy's exit IP in <1s. If that's fine, the proxy works and the target site is slow.

How traffic is counted

Every byte through the proxy counts against your cap, both directions. When you hit the cap, requests return 407 until you top up (x402 topup endpoint, or ask your reseller to raise the cap) - caps do not reset on their own. Your dashboard shows live usage.

Need help, more countries, or a higher cap? Contact your provider - the link in your dashboard.
Proxies.sx network status: healthz · Live country availability: /gateway/pool/availability