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, socks5: null, 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.
# x402 pool access is HTTP :7000 ONLY (socks5 is null). The credential is rejected on :7001 by design.

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

Reseller-distributed pak_ keys (minted under a reseller account) can use SOCKS5 on port 7001 with the same credentials, prefix socks5://. x402-bought pool access is HTTP :7000 only - the psx_x402pool house credential is rejected on :7001 by design (use the HTTP example above).

SOCKS5 connection string (reseller pak only)

    

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 - every request will land on a different modem.
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 the residential peer pool.
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 or wait for a reset. 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