Developer Documentation

PROXIES.SX API Documentation

Mobile proxy infrastructure for AI agents. Pay with USDC on-chain. No API keys needed. Create ports, rotate IPs, monitor usage, and automate your proxy infrastructure.

45 endpoints55 MCP tools5 npm packages7 live domains
Documentation

Base URL

https://api.proxies.sx/v1

Authentication

All API requests require authentication via API key. Get your API key from the dashboard

Header: X-API-Key: psx_your_api_key_here

API Key Scopes

ScopeDescription
ports:readRead port information
ports:writeCreate, update, delete ports
ports:rotateRotate ports to new devices
billing:readRead billing and payment history
traffic:readRead traffic usage data
account:readRead account information

Quick Start Integration Guide

Step 1: Check Your Resources

curl https://api.proxies.sx/v1/account/summary \
  -H "X-API-Key: psx_your_key"

Step 2: Get Available Locations

curl https://api.proxies.sx/v1/countries/with-devices \
  -H "X-API-Key: psx_your_key"

Step 3: Create a Port

curl -X POST https://api.proxies.sx/v1/ports \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"countryId":"COUNTRY_ID","expiresAt":86400}'

Step 4: Use Your Proxy

# HTTP Proxy
http://proxyLogin:proxyPassword@serverIp:httpPort

# SOCKS5 Proxy
socks5://proxyLogin:proxyPassword@serverIp:socksPort

Step 5: Rotate IP When Needed

# Option A: API rotation (authenticated)
curl -X POST https://api.proxies.sx/v1/ports/PORT_ID/rotate \
  -H "X-API-Key: psx_your_key"

# Option B: Token rotation (no auth needed!)
curl https://api.proxies.sx/rotate/YOUR_ROTATION_TOKEN

Reference Data Endpoints

GET/v1/countries/with-devicesScope: ports:read

Get countries with available devices and free device count

Example Request
curl https://api.proxies.sx/v1/countries/with-devices \
  -H "X-API-Key: psx_your_key"
Response
[
  {
    "_id": "69276bf1f547dfc948699263",
    "name": "Germany",
    "code": "DE",
    "iso3": "DEU",
    "phoneCode": "+49",
    "freeDeviceCount": 26
  },
  {
    "_id": "69276bf1f547dfc9486992b4",
    "name": "United Kingdom",
    "code": "GB",
    "iso3": "GBR",
    "phoneCode": "+44",
    "freeDeviceCount": 21
  }
]
GET/v1/carriers/country/:countryId?withDevice=trueScope: ports:read

Get carriers in a country with free device count

Example Request
curl "https://api.proxies.sx/v1/carriers/country/69276bf1f547dfc948699263?withDevice=true" \
  -H "X-API-Key: psx_your_key"
Response
[
  {
    "_id": "69276bf5f547dfc94869f2dc",
    "name": "Vodafone D2 GmbH",
    "brand": "Vodafone",
    "mcc": "262",
    "mnc": "02",
    "technology": "LTE",
    "freeDeviceCount": 19
  },
  {
    "_id": "69276bf5f547dfc94869f2df",
    "name": "Telefónica Germany GmbH & Co. oHG",
    "brand": "O2",
    "technology": "LTE",
    "freeDeviceCount": 7
  }
]
GET/v1/tariffsScope: ports:read

Get available tariff plans and pricing with developer-friendly computed fields

Example Request
curl https://api.proxies.sx/v1/tariffs \
  -H "X-API-Key: psx_your_key"
Response
[
  {
    "_id": "69414788d149cecffee567a0",
    "type": "TrafficShared",
    "price": 4,
    "trafficRange": { "min": 1, "max": 999999 },
    "category": "shared",
    "resourceType": "traffic",
    "pricePerUnit": 4,
    "unitType": "gb",
    "billingPeriod": "one-time",
    "displayName": "Shared Traffic (Pay-per-GB)",
    "description": "Shared pool traffic - $4/GB base, volume discounts apply (10-40% off). Traffic never expires."
  },
  {
    "_id": "694147b8d149cecffee567bc",
    "type": "TrafficPrivate",
    "price": 8,
    "trafficRange": { "min": 1, "max": 999999 },
    "category": "private",
    "resourceType": "traffic",
    "pricePerUnit": 8,
    "unitType": "gb",
    "billingPeriod": "one-time",
    "displayName": "Private Traffic (Pay-per-GB)",
    "description": "Dedicated device traffic - $8/GB base, volume discounts apply (10-40% off). Traffic never expires."
  }
]

Note: Port slots are FREE and unlock based on cumulative GB purchases.

Port Management Endpoints

GET/v1/portsScope: ports:read

List all your ports with connection details, device info, and traffic usage

Example Request
curl https://api.proxies.sx/v1/ports \
  -H "X-API-Key: psx_your_key"
Response
[
  {
    "_id": "6935a7065cb903907b750c64",
    "id": "6935a7065cb903907b750c64",
    "name": "psx_8cc33c_91vjml",
    "displayName": "Proxy #1",

    "httpPort": 8522,
    "socksPort": 5522,
    "serverIp": "138.201.158.43",
    "proxyLogin": "user_8cc33c91vjml",
    "proxyPassword": "gyQ4n6hP8R",

    "slotType": "shared",
    "exclusive": false,
    "osFingerprint": "windows:1",

    "suspended": false,
    "status": "active",
    "expiresAt": 1765210246994,
    "createdAt": 1733587846996,

    "rotationToken": "32c2144a26f1ff1a3a0b79c4e31b7369",
    "rotationSettings": {
      "enabled": true,
      "intervalMinutes": 30,
      "intervalSeconds": 1800,
      "lastRotatedAt": "2025-12-17T09:30:00.000Z",
      "rotationCount": 5
    },

    "usedTraffic": 1.5,
    "rotationLink": "https://api.proxies.sx/rotate/32c2144a26f1ff1a3a0b79c4e31b7369",

    "device": {
      "_id": "69280411c01b1bb60efc4ab7",
      "name": "dongle501_de",
      "country": { "name": "Germany", "code": "DE" },
      "carrier": { "name": "Vodafone D2 GmbH", "brand": "Vodafone" },
      "region": { "name": "Berlin" }
    }
  }
]
POST/v1/portsScope: ports:write

Create a new port (requires available tier slots and traffic)

Request Body
{
  "countryId": "69276bf1f547dfc948699263",  // Required
  "expiresAt": 86400,                        // Required (seconds: 86400=24h)
  "carrierId": "carrier_id",                 // Optional
  "osFingerprint": "windows:1"               // Optional
}
Example Request
curl -X POST https://api.proxies.sx/v1/ports \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"countryId":"69276bf1f547dfc948699263","expiresAt":86400}'
Response
{
  "_id": "675123abc...",
  "displayName": "Proxy #1",
  "serverIp": "62.30.207.124",
  "httpPort": 8002,
  "socksPort": 5002,
  "proxyLogin": "auto_generated",
  "proxyPassword": "auto_generated",
  "expiresAt": 1702320967890
}
GET/v1/ports/:idScope: ports:read

Get full port details including device info and rotation settings

Example Request
curl https://api.proxies.sx/v1/ports/6935a7065cb903907b750c64 \
  -H "X-API-Key: psx_your_key"
GET/v1/ports/:id/statusScope: ports:read

Get port online/offline status

Response
{
  "status": "online",
  "isActive": true,
  "lastChecked": "2025-12-17T10:00:00.000Z",
  "expiresAt": 1765210246994
}
GET/v1/ports/:id/pingScope: ports:read

Test proxy connectivity and measure response time

Response
{
  "success": true,
  "ip": "109.40.240.170",
  "responseTime": 513,
  "testTime": "2025-12-17T10:37:36.621Z"
}
GET/v1/ports/:id/ipScope: ports:read

Get current public IP address of the port

Response
{
  "publicIp": "109.40.240.170",
  "serverIp": "138.201.158.43"
}
GET/v1/ports/:id/os-fingerprintsScope: ports:read

Get available OS fingerprint options for this port's server

Response
[
  { "value": "", "label": "None (Default)" },
  { "value": "windows:1", "label": "Windows 10" },
  { "value": "macosx:4", "label": "macOS / iPhone 13" },
  { "value": "ios:2", "label": "iOS (Real iPhone)" },
  { "value": "ios:1", "label": "iOS (p0f Compliant)" },
  { "value": "android:3", "label": "Android (Real)" },
  { "value": "android:1", "label": "Android (p0f Compliant)" },
  { "value": "macosx:3", "label": "macOS X" }
]
DELETE/v1/ports/:idScope: ports:write

Delete a port (removes from modem and database)

Example Request
curl -X DELETE https://api.proxies.sx/v1/ports/675123abc... \
  -H "X-API-Key: psx_your_key"
Response
{
  "message": "Port deleted successfully"
}
POST/v1/ports/:id/reconfigureScope: ports:write

Change port location/carrier

Request Body
{
  "countryId": "new_country_id",  // Required
  "carrierId": "new_carrier_id"   // Optional
}
PUT/v1/ports/:id/credentialsScope: ports:write

Update port login/password credentials

Request Body
{
  "proxyLogin": "new_username",
  "proxyPassword": "new_password"
}
PATCH/v1/ports/:id/os-fingerprintScope: ports:write

Change OS fingerprint (p0f) for traffic spoofing

Request Body
{
  "osFingerprint": "windows:1"
}

// Available values:
// "", "windows:1", "macosx:3", "macosx:4",
// "ios:1", "ios:2", "android:1", "android:3"

IP Rotation Endpoints

POST/v1/ports/:id/rotateScope: ports:rotate

Rotate port to get a new IP. Shared ports switch devices (5-min cooldown), private ports use airplane mode (1-min cooldown).

Example Request
curl -X POST https://api.proxies.sx/v1/ports/6935a7065cb903907b750c64/rotate \
  -H "X-API-Key: psx_your_key"
Response (Shared Device)
{
  "success": true,
  "portId": "6935a7065cb903907b750c64",
  "oldDeviceId": "69280411c01b1bb60efc4ab7",
  "newDeviceId": "69280412c01b1bb60efc4ab8",
  "oldIp": "109.40.240.170",
  "newIp": "109.40.241.55",
  "rotationDurationMs": 2450,
  "rotationCount": 5,
  "message": "Port rotated successfully"
}
Response (Private Device - Airplane Mode)
{
  "success": true,
  "portId": "6935a7065cb903907b750c64",
  "oldIp": "109.40.240.170",
  "rotationDurationMs": 1523,
  "message": "IP reset triggered via airplane mode. New IP will be available in 10-30 seconds.",
  "isAirplaneMode": true
}
GET/v1/ports/:id/can-rotateScope: ports:read

Check if port can be rotated and cooldown status

Response (Ready)
{
  "canRotate": true,
  "availableDevices": 26
}
Response (In Cooldown)
{
  "canRotate": false,
  "reason": "Rate limited. Must wait 180 seconds before next rotation.",
  "nextRotationAt": "2025-12-17T10:05:00.000Z",
  "cooldownRemaining": 180
}
PATCH/v1/ports/:id/rotation-settingsScope: ports:write

Enable/configure auto-rotation. Interval in SECONDS: 300-86400 (shared), 60-86400 (private)

Request Body
{
  "enabled": true,
  "intervalSeconds": 1800,  // 300-86400 (shared) or 60-86400 (private) - in SECONDS
  "matchCarrier": false,    // Keep same carrier when rotating
  "matchCity": false        // Keep same city/region when rotating
}
Example Request
curl -X PATCH https://api.proxies.sx/v1/ports/6935a7065cb903907b750c64/rotation-settings \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true,"intervalSeconds":1800}'
Response
{
  "enabled": true,
  "intervalMinutes": 30,
  "intervalSeconds": 1800,
  "lastRotatedAt": "2025-12-17T02:24:17.359Z",
  "rotationCount": 7,
  "matchCarrier": false,
  "matchCity": false,
  "excludedDeviceIds": [],
  "_id": "694166405313a0aecb26ca09",
  "id": "694166405313a0aecb26ca09"
}

// Note: Response includes both intervalMinutes (legacy) and intervalSeconds (primary).
// Always use intervalSeconds for new integrations.
GET/v1/ports/:id/rotation-historyScope: ports:read

Get rotation history for a port

Response
{
  "rotations": [
    {
      "_id": "6941a706...",
      "portId": "6935a7065cb903907b750c64",
      "fromDeviceId": "69280411c01b1bb60efc4ab7",
      "toDeviceId": "69280412c01b1bb60efc4ab8",
      "fromIp": "109.40.240.170",
      "toIp": "109.40.241.55",
      "triggerType": "api_token",
      "success": true,
      "rotationDurationMs": 2450,
      "country": "Germany",
      "carrier": "Vodafone",
      "createdAt": "2025-12-17T09:55:00.000Z"
    }
  ],
  "total": 5
}

// triggerType values: "manual", "automatic", "api_token"

Account & Billing Endpoints

GET/v1/accountScope: account:read

Complete account details with wallet, subscriptions, ports, and status flags

Response
{
  "user": {
    "_id": "6935a45d04523391208cc33c",
    "email": "user@example.com",
    "role": "customer",
    "isActive": true
  },
  "wallet": {
    "totalDeposited": 100.00,
    "totalSpent": 50.00,
    "availableBalance": 50.00,
    "currency": "USD"
  },
  "tier": {
    "current": "Bronze",
    "cumulativeGB": 25.5,
    "nextTier": "Silver",
    "nextTierAt": 25,
    "slots": {
      "shared": { "total": 10, "used": 2, "available": 8 },
      "private": { "total": 2, "used": 0, "available": 2 }
    }
  },
  "subscription": {
    "shared": {
      "active": true,
      "traffic": { "purchasedGB": 10, "usedGB": 2.5, "availableGB": 7.5 },
      "trafficNeverExpires": true
    },
    "private": {
      "active": false,
      "traffic": { "purchasedGB": 0, "usedGB": 0, "availableGB": 0 },
      "trafficNeverExpires": true
    }
  },
  "status": {
    "hasActiveSubscription": true,
    "hasAvailableTraffic": true,
    "lowBalance": false,
    "lowTraffic": false
  }
}
GET/v1/account/summaryScope: account:read

Lightweight account summary for dashboard widgets and quick status checks

Response
{
  "balance": 50.00,
  "currency": "USD",
  "tier": {
    "current": "Bronze",
    "cumulativeGB": 25.5,
    "slots": {
      "shared": { "total": 10, "used": 2, "available": 8 },
      "private": { "total": 2, "used": 0, "available": 2 }
    }
  },
  "shared": {
    "trafficGB": { "total": 10, "used": 2.5, "available": 7.5 },
    "trafficNeverExpires": true
  },
  "private": {
    "trafficGB": { "total": 0, "used": 0, "available": 0 },
    "trafficNeverExpires": true
  },
  "alerts": [
    { "type": "low_traffic", "message": "Traffic is running low", "severity": "info" }
  ]
}
GET/v1/account/usage?period=30dScope: traffic:read

Traffic usage breakdown by port (7d, 30d, or 90d period)

Response
{
  "period": "30d",
  "generatedAt": "2025-12-17T10:00:00.000Z",
  "traffic": {
    "shared": {
      "totalUsedGB": 2.5,
      "portCount": 2,
      "byPort": [
        { "portId": "6935a706...", "portName": "Proxy #1", "usedGB": 1.5 },
        { "portId": "6935a707...", "portName": "Proxy #2", "usedGB": 1.0 }
      ]
    },
    "combined": {
      "totalUsedGB": 2.5,
      "portCount": 2
    }
  }
}
GET/v1/traffic/balance-breakdownScope: traffic:read

Detailed traffic and billing breakdown with formula explanation

Response
{
  "totalPayments": 100.00,
  "adminPaymentCredits": 0,
  "totalPurchases": 50.00,
  "trafficUsedGB": 2.5,
  "purchasedTrafficGB": 10,
  "availableTrafficGB": 7.5,
  "pricePerGB": 4,
  "balance": 50.00,
  "currency": "USD",
  "formula": "balance = (totalPayments + adminCredits) - totalPurchases"
}

Complete Workflow Example

# 1. Check account status first
curl https://api.proxies.sx/v1/account/summary \
  -H "X-API-Key: psx_your_key"

# 2. Get available countries
curl https://api.proxies.sx/v1/countries/with-devices \
  -H "X-API-Key: psx_your_key"

# 3. Get carriers for Germany
curl "https://api.proxies.sx/v1/carriers/country/69276bf1f547dfc948699263?withDevice=true" \
  -H "X-API-Key: psx_your_key"

# 4. Create a 24-hour port
curl -X POST https://api.proxies.sx/v1/ports \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"countryId":"69276bf1f547dfc948699263","expiresAt":86400}'

# 5. List your ports
curl https://api.proxies.sx/v1/ports \
  -H "X-API-Key: psx_your_key"

# 6. Rotate a port to new IP
curl -X POST https://api.proxies.sx/v1/ports/PORT_ID/rotate \
  -H "X-API-Key: psx_your_key"

# 7. Enable auto-rotation (every 30 min = 1800 seconds)
curl -X PATCH https://api.proxies.sx/v1/ports/PORT_ID/rotation-settings \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true,"intervalSeconds":1800}'

# 8. Check rotation history
curl https://api.proxies.sx/v1/ports/PORT_ID/rotation-history \
  -H "X-API-Key: psx_your_key"

# 9. Change OS fingerprint to Windows
curl -X PATCH https://api.proxies.sx/v1/ports/PORT_ID/os-fingerprint \
  -H "X-API-Key: psx_your_key" \
  -H "Content-Type: application/json" \
  -d '{"osFingerprint":"windows:1"}'

# 10. Get usage analytics
curl "https://api.proxies.sx/v1/account/usage?period=30d" \
  -H "X-API-Key: psx_your_key"

# 11. Delete a port when done
curl -X DELETE https://api.proxies.sx/v1/ports/PORT_ID \
  -H "X-API-Key: psx_your_key"

Proxy Connection Formats

HTTP Proxy
http://username:password@serverIp:httpPort
SOCKS5 Proxy
socks5://username:password@serverIp:socksPort
Example
http://user_abc123:pass456@138.201.158.43:8522
socks5://user_abc123:pass456@138.201.158.43:5522

Key Response Fields for Developers

Port Object Fields

  • slotType - "shared" | "private"
  • status - "active" | "suspended" | "expired"
  • rotationToken - Token for no-auth rotation
  • trafficSummary - { usedMB, usedGB }
  • healthStatus - "healthy" | "degraded" | "offline"
  • osFingerprint - Current OS spoofing setting

Account Object Fields

  • wallet - Detailed balance breakdown
  • tier - Current tier, cumulative GB, FREE slot allocation
  • subscription - Traffic availability (slots are FREE)
  • status.hasAvailableTraffic - Boolean flag
  • status.lowTraffic - Boolean flag

MCP Server

AI-Controlled Proxy Management

@proxies-sx/mcp-server
Now available on NPM
View on NPM
Option 1: npx (recommended)
npx @proxies-sx/mcp-server
Option 2: Global install
npm i -g @proxies-sx/mcp-server
Option 3: Local project
npm i @proxies-sx/mcp-server
Package size: 904 KB (~88 MB with dependencies including MCP SDK, viem, and zod)

The PROXIES.SX MCP Server allows AI assistants (Claude, Cursor, Cline) to manage your proxy infrastructure through natural language. Create ports, rotate IPs, monitor status, and purchase resources — all through conversation.

Two Authentication Modes

1
API Key Mode

Use your Proxies.sx account and API key to manage existing subscriptions.

Requires: PROXIES_API_KEY
2
x402 Payment Mode

AI agents autonomously purchase proxies using USDC on Base or Solana - no account needed!

Requires: AGENT_WALLET_KEY
55 Tools

Complete proxy management

Natural Language

No code needed

x402 Payments

Autonomous USDC

Browser MCP

9 antidetect tools

MIT License

Open source

MCP Setup

API Key Mode Configuration

For users with existing Proxies.sx accounts - manage your subscriptions with your API key:

{
  "mcpServers": {
    "proxies-sx": {
      "command": "npx",
      "args": ["-y", "@proxies-sx/mcp-server"],
      "env": {
        "PROXIES_API_KEY": "psx_your_api_key_here"
      }
    }
  }
}

x402 Payment Mode Configuration

For autonomous AI agents - pay with USDC on Base or Solana (no account needed):

{
  "mcpServers": {
    "proxies-sx": {
      "command": "npx",
      "args": ["-y", "@proxies-sx/mcp-server"],
      "env": {
        "AGENT_WALLET_KEY": "your_base_or_solana_private_key_here"
      }
    }
  }
}
Requirements: Fund wallet with USDC (min $3.53 for 1 hour + 1 GB) + small amount of ETH (Base) or SOL (Solana) for gas (~$0.01)
Config locations: Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json | Cursor: .cursor/mcp.json | Claude Code: ~/.mcp.json

Available Tools (55 Total)

💳Account & Billing6 tools
get_account_summary - Get balance, tier, and traffic usage
get_account_usage - Detailed traffic breakdown
get_pricing - Get tier info, volume discounts, and progression
calculate_price - Calculate price with volume discounts applied
purchase_shared_traffic - Buy shared traffic (GB)
purchase_private_traffic - Buy private traffic (GB)
🔌Port Management7 tools
list_ports - List all proxy ports with filters
get_port - Get detailed port info with connection strings
create_port - Create a new proxy port
delete_port - Delete a proxy port
update_port_credentials - Change login/password
update_os_fingerprint - Set OS fingerprint spoofing
reconfigure_port - Change port location
🔄IP Rotation5 tools
rotate_port - Rotate to a new IP address
check_rotation_availability - Check if rotation is available
configure_auto_rotation - Set up automatic rotation
get_rotation_history - View past rotations
get_rotation_token_url - Get public rotation URL
📡Status & Monitoring4 tools
get_port_status - Check if port is online/offline
get_port_ip - Get current public IP address
ping_port - Test connectivity and latency
speed_test_port - Measure download/upload speed
🪙Crypto Payments5 tools
create_crypto_payment - Create payment order ($10-$1000)
check_crypto_payment_status - Check payment status
get_pending_crypto_payments - List pending payments
cancel_crypto_payment - Cancel pending payment
get_crypto_payment_info - Get supported currencies
🌍Reference Data1 tool
list_available_countries - List countries with available devices for port creation
🛠️Utilities3 tools
get_proxy_connection_string - Generate ready-to-use proxy URL
get_all_proxy_formats - Get all formats (curl, Python, Node.js)
get_os_fingerprint_options - List OS fingerprint options
🎫Support Tickets5 tools
create_support_ticket - Submit a ticket for human support
list_my_tickets - List all your support tickets
get_ticket - Get ticket details with conversation history
reply_to_ticket - Reply to an existing ticket
close_ticket - Close a resolved ticket
💳X402 Session Management8 tools
get_x402_session - Get x402 session details by token
list_x402_ports - List all ports in an x402 session
get_x402_port_status - Get status of an x402 port
replace_x402_port - Replace offline port (free, max 3)
calculate_x402_topup - Preview top-up cost
topup_x402_session - Pay to extend session
get_sessions_by_wallet - Get all sessions for a wallet address
get_session_status - Check if x402 session is active
🤖X402 Autonomous11 tools
x402_get_proxy - Purchase proxy with USDC autonomously
x402_wallet_balance - Check wallet USDC balance
x402_rotate_ip - Rotate IP on x402 session port
x402_extend_session - Extend session duration/traffic
x402_get_pricing - Get current x402 pricing
x402_get_countries - List available countries
x402_calculate_cost - Calculate purchase cost
x402_get_info - Master info endpoint
x402_get_health - Service health check
x402_get_session_by_tx - Look up session by tx hash
x402_well_known - Protocol discovery
🌐Browser MCP9 tools
browser_create - Create antidetect browser session with mobile proxy
browser_go - Navigate to URL
browser_click - Click element on page
browser_type - Type text into input
browser_see - Take screenshot / extract visible content
browser_wait - Wait for element or condition
browser_extract - Extract structured data from page
browser_save - Save identity bundle (cookies, fingerprint, proxy)
browser_end - Close browser session

Agent APIs

x402-gated endpoints at api.proxies.sx

Pay per request with USDC. No API keys, no accounts. AI agents pay autonomously on Base or Solana.

AgentEndpointPriceStatus
Mobile ProxyGET /v1/x402/proxy$4/GB shared, $8/GB privateLIVE
Antidetect BrowserPOST browser.proxies.sx/v1/sessions~$0.005/minLIVE

Antidetect Browser v1.1 — Identity Bundles

Cloud browser (Camoufox) with unique fingerprint + real mobile proxy. Each session automatically includes a mobile proxy — no need to provide your own.

Auto-Proxy

Real 4G/5G mobile proxy allocated per session. Countries: DE, GB, FR, ES, PL, US.

Identity Bundles

Save & restore cookies, localStorage, fingerprint, proxy device binding across sessions.

IMEI Pinning

Same fingerprint, same proxy device. Pass profile_id to auto-restore.

Browser MCP Tools
browser_create  — Create session with fingerprint + mobile proxy
browser_go      — Navigate to URL
browser_click   — Click element
browser_type    — Type text into input
browser_see     — Screenshot / extract visible content
browser_wait    — Wait for element or condition
browser_extract — Extract structured data from page
browser_save    — Save identity bundle (cookies, fingerprint, proxy)
browser_end     — Close browser session
npm: @proxies-sx/browser-mcp — 9 tools for antidetect browser control

x402 Protocol

Payment-Gated Proxy Access for AI Agents

x402 Protocol enables instant proxy access for AI agents using HTTP 402 Payment Required responses. No registration needed — just pay with USDC on Base or Solana and receive credentials instantly.

No Registration

Pay and receive credentials instantly

USDC Payments

On Base (L2) or Solana

AI-Native

Designed for autonomous agents

Dynamic Pricing & Availability

All x402 responses include live data:

  • Available countries - Updated every 5 minutes from device inventory
  • Tier-specific - Private tier may have fewer countries
  • Pricing included - Both shared and private rates
  • Stock levels - Real device counts per country

x402 Endpoints

GET/v1/x402/healthScope: public

Check if x402 integration is enabled

Response
{"enabled": true, "version": "1.0.0"}
GET/v1/x402/infoScope: public

Master endpoint - Get all config in one call (pricing, networks, limits)

Response
{
  "pricing": {"shared": {...}, "private": {...}},
  "networks": ["solana", "base"],
  "wallets": {...},
  "limits": {"minDuration": 3600, "maxDuration": 2592000, "minTrafficGB": 0.1}
}
GET/v1/x402/countriesScope: public

Get available countries (dynamic, updated every 5 min)

Query Parameters
  • tier (optional) - "shared" or "private" to filter by tier
Response
[
  {"code": "US", "name": "United States", "availableDevices": 88, "tier": "both"},
  {"code": "DE", "name": "Germany", "availableDevices": 27, "tier": "both"},
  {"code": "GB", "name": "United Kingdom", "availableDevices": 22, "tier": "shared"},
  {"code": "PL", "name": "Poland", "availableDevices": 22, "tier": "both"}
]
Note: "tier" indicates availability - "both", "shared" only, or "private" only
GET/v1/x402/pricingScope: public

Get current pricing for all tiers and networks

Response
{
  "shared": {"perGB": 4, "perHour": 0.10},
  "private": {"perGB": 8, "perHour": 0.25},
  "networks": ["base", "solana"],
  "currency": "USDC"
}
GET/v1/x402/calculate?tier=shared&duration=3600&traffic=1Scope: public

Calculate cost for specific duration and traffic

Parameters
  • tier - "shared" or "private"
  • duration - seconds (e.g., 3600 = 1 hour)
  • traffic - GB amount
Response
{"cost": "0.50", "currency": "USDC", "breakdown": {...}}
GET/v1/x402/proxy?country=US&duration=3600&traffic=1Scope: public

Request proxy credentials (returns 402 Payment Required)

Parameters
  • country - ISO code (e.g., "US", "DE", "GB")
  • duration - seconds
  • traffic - GB amount
  • carrier (optional) - specific carrier
402 Response
{
  "status": 402,
  "message": "Payment Required",
  "payment": {
    "payTo": "0x1234...abcd",
    "amount": "0.50",
    "currency": "USDC",
    "network": "base",
    "paymentId": "pay_abc123",
    "expires": "2025-01-01T12:05:00Z"
  }
}
GET/v1/x402/agentsScope: public

Agent registry - register and manage AI agent wallets

Used for tracking agent usage and preferences.

POST/v1/x402/proxyScope: x402

Purchase proxy (POST method, same as GET)

Request Body
{
  "country": "US",
  "duration": 3600,
  "traffic": 1,
  "tier": "shared"
}
GET/v1/x402/.well-knownScope: public

Protocol discovery endpoint

Returns x402 protocol information and capabilities.

GET/v1/x402/manage/sessionScope: X-Session-Token

Get session details via session token

Headers
  • X-Session-Token: x402s_...
Response
{
  "sessionId": "...",
  "wallet": "0x...",
  "ports": [...],
  "traffic": {"allocated": 1, "used": 0.2, "remaining": 0.8},
  "expiresAt": "2025-01-15T10:00:00Z"
}
GET/v1/x402/manage/session/creditScope: X-Session-Token

Check remaining credit in session

Response
{
  "trafficGB": 0.8,
  "valueDollars": 3.20
}
GET/v1/x402/manage/portsScope: X-Session-Token

List all ports in session

Response
{
  "ports": [
    {
      "portId": "...",
      "status": "online",
      "country": "US",
      "proxy": {"http": "...", "socks5": "..."}
    }
  ]
}
GET/v1/x402/manage/ports/:portId/statusScope: X-Session-Token

Get status of specific port

Response
{
  "status": "online",
  "lastChecked": "2025-01-15T10:00:00Z",
  "trafficUsed": 0.2
}
POST/v1/x402/manage/ports/replaceScope: X-Session-Token

Replace offline port (free, max 3 per session)

Request Body
{
  "country": "US"
}

Maximum 3 replacements per session. Free of charge.

POST/v1/x402/manage/ports/recreateScope: X-Session-Token

Recreate deleted port using remaining credit

If you deleted a port but still have credit, recreate it in the same session.

GET/v1/x402/manage/session/topup/calculateScope: X-Session-Token

Preview cost of session top-up

Query Parameters
  • addTrafficGB - Additional traffic
  • addDurationSeconds - Additional duration
Response
{
  "cost": "8.00",
  "currency": "USDC"
}
POST/v1/x402/manage/session/topupScope: X-Session-Token + Payment-Signature

Pay to add traffic or duration to session

Headers
  • X-Session-Token: x402s_...
  • Payment-Signature: <tx_hash>
Request Body
{
  "addTrafficGB": 2,
  "addDurationSeconds": 86400
}
GET/v1/x402/session/:idScope: public

Get session by ID

Retrieve session details using session ID.

GET/v1/x402/session/tx/:txHashScope: public

Get session by transaction hash

Look up session using the blockchain transaction hash.

GET/v1/x402/sessions/wallet/:walletScope: public

Get all sessions for a wallet address

Response
{
  "sessions": [
    {
      "sessionId": "...",
      "created": "2025-01-15T10:00:00Z",
      "status": "active"
    }
  ]
}
GET/v1/x402/agents/:walletScope: public

Get agent details by wallet address

Retrieve agent information using wallet address.

GET/rotate/:tokenScope: public

Rotate IP via public rotation token (no auth required)

Example
curl https://api.proxies.sx/rotate/tok_abc123xyz

Rotation token provided in proxy credentials.

Payment Flow

1
Request Proxy
GET /v1/x402/proxy
2
Receive 402
Payment details
3
Send USDC
Base or Solana
4
Get Credentials
Instant access
# Step 1: Request proxy (get payment requirements)
curl "https://api.proxies.sx/v1/x402/proxy?country=US&duration=3600&traffic=1"

# Response: 402 Payment Required
# {
#   "payment": {
#     "payTo": "0x1234...abcd",
#     "amount": "0.50",
#     "currency": "USDC",
#     "network": "base",
#     "paymentId": "pay_abc123"
#   }
# }

# Step 2: Send USDC payment to payTo address

# Step 3: Server detects on-chain payment automatically

# Step 4: Receive proxy credentials
# {
#   "credentials": {
#     "host": "us.proxies.sx",
#     "httpPort": 8080,
#     "socksPort": 1080,
#     "username": "x402_user_abc",
#     "password": "generated_pass",
#     "expiresAt": "2025-01-01T13:00:00Z"
#   }
# }

Peer Marketplace - Earn USDC

Share your internet bandwidth and get paid in USDC on Solana. AI agents and humans connect via WebSocket, route traffic through your device, and you earn automatically.

Mobile IPs
$0.25/GB
AT&T, Verizon, T-Mobile
Residential IPs
$0.15/GB
Comcast, Spectrum, Cox
Datacenter IPs
$0.02/GB
AWS, GCP, Azure, Hetzner
Note: IP type determined server-side via ASN lookup. Min payout: $5 USDC. Payout time: 24-48 hours.

Peer API Endpoints

POST/v1/peer/agents/registerScope: public

Register as a peer in the network

Request Body
{
  "name": "my-agent",
  "type": "claude",
  "walletAddress": "YOUR_SOLANA_ADDRESS"
}
Response
{
  "deviceId": "agent_abc123",
  "jwt": "eyJ...",
  "refreshToken": "a1b2...",
  "relay": "wss://relay.proxies.sx",
  "earningsPerGB": {
    "mobile": 0.25,
    "residential": 0.15,
    "datacenter": 0.02
  }
}

Rate limit: 3 requests per minute per IP

POST/v1/peer/agents/:id/refreshScope: Refresh Token

Refresh JWT token (expires after 1 hour)

Request Body
{
  "refreshToken": "a1b2..."
}
Response
{
  "jwt": "eyJ...",
  "expiresAt": "2025-01-15T11:00:00Z"
}
GET/v1/peer/agents/:id/statusScope: JWT

Get peer status and connection info

Headers
  • Authorization: Bearer <jwt>
Response
{
  "status": "online",
  "connectedAt": "2025-01-15T10:00:00Z",
  "country": "US",
  "ipType": "mobile"
}
GET/v1/peer/agents/:id/earningsScope: JWT

Get earnings and traffic statistics

Response
{
  "totalEarned": 12.50,
  "pendingPayout": 3.25,
  "trafficGB": 50.2,
  "sessionsServed": 145
}
PUT/v1/peer/agents/:id/walletScope: JWT

Update Solana wallet address (7-day cooling period)

Request Body
{
  "walletAddress": "NEW_SOLANA_ADDRESS"
}

Cannot change wallet again for 7 days after update

POST/v1/peer/agents/:id/withdrawScope: JWT

Request payout to Solana wallet (min $5 USDC)

Response
{
  "success": true,
  "amount": 12.50,
  "txHash": "...",
  "processingTime": "24-48 hours"
}

Minimum withdrawal: $5 USDC

GET/v1/peer/boardScope: public

Get live peer board data (public, no auth)

Response
{
  "peers": [
    {
      "name": "Pixel 7a",
      "status": "online",
      "type": "mobile",
      "country": "GB",
      "earned": 0.51,
      "traffic": 2.04
    }
  ],
  "stats": {
    "total": 17,
    "online": 1,
    "mobile": 0,
    "residential": 0,
    "datacenter": 1
  }
}

Security Features

  • JWT expiry: 1 hour (refresh via refresh token)
  • Refresh token expiry: 7 days
  • Max WebSocket connections: 2 per device
  • Message rate limit: 100/min per device
  • Registration rate limit: 3/min per IP
  • Wallet change cooling: 7 days
  • IP classification: Server-side ASN lookup (cannot spoof)

AI Agent Discovery

This documentation is optimized for AI agent consumption. Access our machine-readable documentation with MCP Server (55 tools), x402 Protocol, Agent APIs, and complete API reference:

/llm.txt

SDK & Packages

5 npm packages + 3 GitHub repos

npm Packages

PackageDescription
@proxies-sx/mcp-serverMCP server — 55 tools for proxy management
@proxies-sx/browser-mcpBrowser MCP — 9 tools for antidetect browser
@proxies-sx/x402-corex402 types, utilities, payment requirement builder
@proxies-sx/x402-honox402 Hono middleware for building paywall APIs
@proxies-sx/x402-solanaSolana transaction verification for x402

x402 SDK Example

import { createPaymentRequirement } from '@proxies-sx/x402-core';
import { x402Middleware } from '@proxies-sx/x402-hono';
import { verifySolanaPayment } from '@proxies-sx/x402-solana';

const app = new Hono();
app.use('/api/*', x402Middleware({
  price: 10000,  // $0.01 in micro-units
  recipient: 'YOUR_SOLANA_WALLET',
  verify: verifySolanaPayment,
}));
app.get('/api/data', (c) => c.json({ data: 'premium content' }));

Discovery Files

FilePurpose
agents.proxies.sx/skill.mdMaster skill file — everything for AI agents in one read
proxies.sx/llms.txtLLM integration reference
.well-known/x402.jsonx402 protocol discovery
agents.proxies.sx/peer/skill.mdPeer marketplace detailed skill

Live Domains

api.proxies.sx
REST API + x402
client.proxies.sx
Customer portal
agents.proxies.sx
Agent hub
browser.proxies.sx
Antidetect browser
relay.proxies.sx
WebSocket relay
gw.proxies.sx
Proxy gateway
admin.proxies.sx
Admin dashboard

Ready to Integrate?

Get your API key from the dashboard or pay with USDC on-chain — no account needed.