Developer Documentation

PROXIES.SX API Documentation

Complete API reference for managing mobile proxies programmatically. Create ports, rotate IPs, monitor usage, and automate your proxy infrastructure.

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": "69414767d149cecffee56788",
    "type": "PortsShared",
    "price": 10,
    "portRange": { "min": 1, "max": 10 },
    "category": "shared",
    "resourceType": "ports",
    "pricePerUnit": 10,
    "unitType": "slot",
    "billingPeriod": "monthly",
    "displayName": "Shared Port Slots (1-10)"
  },
  {
    "_id": "69414788d149cecffee567a0",
    "type": "TrafficShared",
    "price": 4,
    "trafficRange": { "min": 1, "max": 10 },
    "category": "shared",
    "resourceType": "traffic",
    "pricePerUnit": 4,
    "unitType": "gb",
    "billingPeriod": "one-time",
    "displayName": "Shared Traffic (1-10 GB)"
  }
]

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 purchased port slots)

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"
  },
  "subscription": {
    "shared": {
      "active": true,
      "slots": { "total": 5, "used": 2, "available": 3 },
      "traffic": { "purchasedGB": 10, "usedGB": 2.5, "availableGB": 7.5 },
      "expiresAt": "2025-01-15T00:00:00.000Z",
      "daysRemaining": 29
    },
    "private": {
      "active": false,
      "slots": { "total": 0, "used": 0, "available": 0 }
    }
  },
  "status": {
    "hasActiveSubscription": true,
    "hasAvailableSlots": 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",
  "shared": {
    "slots": { "total": 5, "used": 2, "available": 3 },
    "trafficGB": { "total": 10, "used": 2.5, "available": 7.5 },
    "expiresAt": "2025-01-15T00:00:00.000Z",
    "daysRemaining": 29
  },
  "private": {
    "slots": { "total": 0, "used": 0, "available": 0 },
    "trafficGB": { "total": 0, "used": 0, "available": 0 }
  },
  "alerts": [
    { "type": "low_traffic", "message": "Traffic is running low", "severity": "info" }
  ]
}
GET/v1/account/usage?period=30dScope: traffic:read

Traffic usage breakdown by port and slot type (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
  • subscription - Slot and traffic availability
  • status.hasAvailableSlots - Boolean flag
  • status.lowTraffic - Boolean flag
  • status.nearingExpiration - 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

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.

42 Tools

Complete proxy management toolkit

Natural Language

No code needed, just describe what you want

x402 Payments

11 tools for autonomous USDC payments

MIT License

Open source, use freely

MCP Setup

Add this configuration to your MCP settings file:

{
  "mcpServers": {
    "proxies-sx": {
      "command": "npx",
      "args": ["-y", "@proxies-sx/mcp-server"],
      "env": {
        "PROXIES_API_KEY": "psx_your_api_key_here"
      }
    }
  }
}
Config locations: Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json | Cursor: .cursor/mcp.json | Claude Code: ~/.mcp.json

Available Tools (42 Total)

๐Ÿ’ณAccount & Billing7 tools
get_account_summary - Get balance, email, and resource usage
get_account_usage - Detailed traffic breakdown
get_pricing - Current pricing for slots and traffic
purchase_shared_slots - Buy shared port slots
purchase_shared_traffic - Buy shared traffic (GB)
purchase_private_slots - Buy private slots
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 Sessions5 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
get_sessions_by_wallet - Get all sessions for a wallet address
get_session_status - Check if x402 session is active

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.

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"
#   }
# }

AI Agent Discovery

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

/llm.txt

Ready to Integrate?

Get your API key from the dashboard and start building.