POOL GATEWAY ACCESS

One USDC payment. One credential for every country in your tier. No account.
$4 /GB
6 countries, one key
1 credential
LIVE

WHAT IT IS

Pool Gateway Access is a single credential that routes through our shared pool of real 4G/5G mobile proxies. Unlike a dedicated proxy (one modem, one port), one Pool Gateway credential reaches every country in your tier through one host - you pick the country per-request in the username, with no per-country repurchase.

Pay once with USDC via the x402 protocol on Base or Solana. No account registration. No API key. You get a metered, capped credential whose GB cap is exactly the USDC you paid. Top it up the same way.

FeatureDetails
One credentialReaches all countries in the tier - switch country per-request, no new purchase
Gatewaygw.proxies.sx:7000 (HTTP) and :7001 (SOCKS5)
Tier (v1)mbl - production ProxySmart modems, real mobile carriers
Countries6 production countries, live now: US, GB, PL, FR, NL, GE. Supply fluctuates - real-time list at /v1/gateway/pool/stock
MeteringPer-GB, capped at the USDC you paid - auto-suspends at the cap
Session controlSticky / rotating per-request via the username DSL
DurationFree - you only pay for traffic (GB)

Dedicated proxy vs Pool Gateway: use a dedicated proxy when you want one pinned modem/port; use Pool Gateway when you want one key that reaches many countries and you select per-request.


PRICING

Duration is free. You only pay for traffic. The GB cap equals the USDC you send.

TierTraffic PriceMin PurchaseQuality
mbl$4.00/GB0.1 GB ($0.40)Production modems - 6 countries, 10-15 Mbps, sub-1s TTFB

Live tier catalog: GET /v1/x402/pool/pricing


ENDPOINTS

MethodURLDescription
GEThttps://api.proxies.sx/v1/x402/pool/pricingTier catalog + networks (no payment)
GET/POSThttps://api.proxies.sx/v1/x402/poolBuy access (no payment -> 402 catalog; pay USDC -> credentials)
GEThttps://api.proxies.sx/v1/x402/manage/pool/creditRemaining GB (X-Session-Token)
POSThttps://api.proxies.sx/v1/x402/manage/pool/topupAdd GB with more USDC
GEThttps://api.proxies.sx/v1/x402/manage/pool/usagePer-day usage
POSThttps://api.proxies.sx/v1/x402/manage/pool/regenerateRotate the secret, keep the username
GEThttps://api.proxies.sx/v1/x402/manage/pool/connectionRe-emit credentials (recovery)

HOW TO BUY (x402)

Step 1: Request access

curl "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1"

With no payment header it returns HTTP 402 with the tier catalog and the wallets to pay:

{
  "x402Version": 1,
  "error": "Payment required",
  "accepts": [
    { "scheme": "exact", "network": "base",
      "maxAmountRequired": "4000000",
      "payTo": "0xF8cD900794245fc36CBE65be9afc23CDF5103042",
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" },
    { "scheme": "exact", "network": "solana",
      "maxAmountRequired": "4000000",
      "payTo": "6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }
  ]
}

Step 2: Pay USDC on-chain

Send the USDC ($4 = 1 GB) to the recipient wallet on Base (~2s) or Solana (~400ms).

Step 3: Retry with the payment

curl "https://api.proxies.sx/v1/x402/pool?tier=mbl&country=us&traffic=1" \
  -H "Payment-Signature: <your_transaction_hash>"

You receive one gateway credential (username token + secret) plus a session token to manage it:

{
  "host": "gw.proxies.sx",
  "httpPort": 7000,
  "socksPort": 7001,
  "username": "psx_<account>-mbl-us",
  "password": "pak_xxxxxxxxxxxxxxxxxxxxxxxx",
  "tier": "mbl",
  "trafficCapGB": 1,
  "sessionToken": "x402s_..."
}

BUILD THE USERNAME (ROUTING DSL)

One credential reaches every country in the tier. You pick the country and behaviour per connection by composing the username from --delimited tokens. The gateway lowercases the whole username and splits on -, so no token value may contain a hyphen. The pak_ secret is the password.

Anatomy

psx_<account>-mbl-<country>[-sid-<id>][-rot-<mode>][-failover-<policy>][-carrier-<slug>]   :   pak_<secret>
└──────────────────────────── username ────────────────────────────┘       (password)

required:  psx_<account>   .   mbl   .   country (2-letter ISO)
optional:  everything in [ ] - order-independent, each has a safe default
TokenValueDefaultNotes
poolmblrequiredv1 production tier (real carrier modems)
country2-letter ISOrequiredsame key, switch per request. Live list: stock endpoint below
sid8-64 [a-z0-9_]noneREQUIRED for a sticky/auto session to persist across connections. See sid rules
rotsee modes belowauto10rotation behaviour
failoversamecountry \| samecarrier \| any \| strictsamecountryif the exit dies mid-request, where to retry
carrierbrand slug (mbl)nonesoft carrier match, e.g. -carrier-tmobile. Never use -asn- on mbl (that is a peer-pool token; it filters mobile stock to zero)
cityslugnonesoft city match, e.g. -city-newyork

Session ID (sid) rules - the one agents get wrong

The sid is the "port name" that makes a session persist. Use 8-64 chars of [a-z0-9_], no hyphens. At purchase time a sid that sanitizes to fewer than 8 chars is silently replaced with a random one - so your intended stickiness is lost. Keep to 8-64 and it works on both the buy and the gateway paths:

RuleGoodBad - why
8-64 chars, lowercase a-z / 0-9 / underscorecust_8f3a21bdt1 - under 8 chars, auto-replaced
no uppercase, no hyphens (a hyphen splits the token)order_99213job-42 - two tokens; Job_4201 - uppercase
never emptyworker_0001empty - no session, fresh IP each call
STABLE per workflow/customerreuse the same sid for the same joba new random sid per call = a new IP per call

Derive a sid from any string: lowercase it, delete every char that is not [a-z0-9_], make sure it is 8-64 chars (pad a short one), then reuse it for every request that should share an exit IP. "Order #99/A" -> order_0099a. Note: -session- is NOT a token - only -sid- creates a session.

Rotation modes

ModeBehaviour
auto10 (default)re-pick a fresh modem every 10 min (also auto5 / auto20 / auto60). Omit the -rot- token to get this
stickypin the same modem for the session - needs a -sid-
sticky-strictstrongest IP hold - pins the most IP-stable modem. Best for login / cookie / 2FA flows. Needs a -sid-
ondemandnew IP only when you open a new connection

Sticky pins the MODEM, not the IP - mobile carrier CGNAT can still re-NAT the exit IP across calls. For the strongest hold pair sticky-strict with a stable -sid-.

Live countries (source of truth)

The mbl tier currently serves US, GB, PL, FR, NL, GE, but supply moves. Read the live stock endpoint (online counts per country, no IPs) before targeting a country:

curl https://api.proxies.sx/v1/gateway/pool/stock
# { "pools": { "mbl": { "us": 40, "nl": 26, "pl": 21, "gb": 18, "fr": 17, "ge": 3 } } }

Worked examples (swap in your account + pak)

# 1) US, sticky for one customer - same exit IP across the whole workflow
http://psx_abc123-mbl-us-sid-cust_8f3a21bd-rot-sticky:pak_xxxx@gw.proxies.sx:7000

# 2) UK, default rotation (fresh IP ~every 10 min) - no extra tokens
http://psx_abc123-mbl-gb:pak_xxxx@gw.proxies.sx:7000

# 3) Netherlands, strongest IP hold for a login/cookie flow
http://psx_abc123-mbl-nl-sid-login_7782-rot-sticky-strict:pak_xxxx@gw.proxies.sx:7000

# 4) US on T-Mobile specifically (soft carrier match - mbl uses -carrier-, not -asn-)
http://psx_abc123-mbl-us-sid-job_us01-rot-sticky-carrier-tmobile:pak_xxxx@gw.proxies.sx:7000

# 5) Same username on SOCKS5 - just use port 7001
socks5://psx_abc123-mbl-fr-sid-task_9001-rot-sticky:pak_xxxx@gw.proxies.sx:7001

Generate it in code (mirrors the gateway exactly)

// JavaScript
function poolUsername(account, country, { sid, rot } = {}) {
  const slug = s => String(s || '').toLowerCase().replace(/[^a-z0-9_]/g, '').slice(0, 64);
  let u = `psx_${account}-mbl-${country.toLowerCase()}`;
  if (sid) u += `-sid-${slug(sid)}`;                  // stable id, no hyphens
  if (rot && rot !== 'auto10') u += `-rot-${rot}`;     // omit for the default
  return u;
}
const user  = poolUsername('abc123', 'us', { sid: 'cust_8f3a21bd', rot: 'sticky' });
const proxy = `http://${user}:${pak}@gw.proxies.sx:7000`;
# Python
import re
def pool_username(account, country, sid=None, rot=None):
    slug = lambda s: re.sub(r'[^a-z0-9_]', '', (s or '').lower())[:64]
    u = f"psx_{account}-mbl-{country.lower()}"
    if sid: u += f"-sid-{slug(sid)}"
    if rot and rot != "auto10": u += f"-rot-{rot}"
    return u
user  = pool_username('abc123', 'us', sid='cust_8f3a21bd', rot='sticky')
proxy = f"http://{user}:{pak}@gw.proxies.sx:7000"

Output formats (the port selects HTTP 7000 vs SOCKS5 7001)

FormatExample
URLhttp://USER:pak@gw.proxies.sx:7000
host:port:user:passgw.proxies.sx:7000:USER:pak
user:pass@host:portUSER:pak@gw.proxies.sx:7000

Use it

curl -x "http://psx_abc123-mbl-us-sid-cust_8f3a21bd-rot-sticky:pak_xxxx@gw.proxies.sx:7000" https://api.ipify.org

MANAGE YOUR CREDIT

After purchase, manage the credential with the session token:

# Remaining GB
curl "https://api.proxies.sx/v1/x402/manage/pool/credit" \
  -H "X-Session-Token: x402s_..."

# Top up with more USDC (returns a 402, pay, retry with Payment-Signature)
curl -X POST "https://api.proxies.sx/v1/x402/manage/pool/topup?addTrafficGB=2" \
  -H "X-Session-Token: x402s_..."

FOR AI AGENTS

A wallet-only agent can buy Pool Gateway access end-to-end with no human and no account:

  1. GET /v1/x402/pool -> 402 catalog with pricing + wallets
  2. Sign and send the USDC transaction from the agent wallet
  3. Retry with the Payment-Signature header -> receive the credential
  4. Use one key across every country via the username DSL; top up the same way
ResourceURL
Skill file (this product)agents.proxies.sx/pool/skill.md
Quickstart (30 seconds)agents.proxies.sx/pool-quickstart.html
Master skill fileagents.proxies.sx/skill.md
x402 discovery/.well-known/x402.json
LLMs.txtagents.proxies.sx/llms.txt
MCP Server@proxies-sx/mcp-server
x402 Protocolx402.org

Resellers can mint their own per-customer pak_ keys for the same gateway - see Build & Resell.


PAYMENT WALLETS

NetworkSettlementRecipient WalletUSDC Contract
Base~2 seconds0xF8cD900794245fc36CBE65be9afc23CDF51030420x833589fcd6edb6e08f4c7c32d4f71b54bda02913
Solana~400ms6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnvEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

Proxies.sx - Pool Gateway Access | Dedicated Proxy | Pool Gateway | Peer Network | Build & Resell