@startuml
scale 1.4
skinparam backgroundColor #05070d
skinparam shadowing false
skinparam defaultFontName monospace
skinparam defaultFontColor #d6e2f5
skinparam defaultFontSize 17
skinparam nodesep 16
skinparam ranksep 70
skinparam ArrowThickness 1.4
skinparam ArrowColor #4a5878
skinparam ArrowFontColor #7d8ca5
skinparam ArrowFontSize 13
skinparam linetype ortho
skinparam package {
  BorderColor #34406a
  BorderThickness 1.6
  FontColor #c9d6ee
  FontStyle bold
  FontSize 20
}
skinparam rectangle {
  BorderColor #34406a
  FontColor #eaf2ff
  FontSize 16
  roundCorner 12
}
title <color:#eef4ff><size:22>Proxies.sx — Ecosystem (analysed)</size></color>\n<color:#62728c><size:14>73 components · 9 subsystems · meaningful cross-subsystem flows, colored by kind</size></color>

package "Edge / Ingress" as g_edge #4c9aff22 {
  rectangle "api.proxies.sx /v1" as n_api_entry #4c9aff1A
  rectangle "HTTP Proxy Ingress" as n_gw_http #4c9aff1A
  rectangle "SOCKS5 Proxy Ingress" as n_gw_socks5 #4c9aff1A
}

package "Pool Gateway Plane" as g_gateway #39c5cf22 {
  rectangle "Gateway Auth Cache" as n_auth_cache #39c5cf1A
  rectangle "Username Token Parser" as n_username_parser #39c5cf1A
  rectangle "Auth Rate Limiter" as n_rate_limiter #39c5cf1A
  rectangle "Connection Limiter" as n_connection_limiter #39c5cf1A
  rectangle "SSRF Guard" as n_ssrf_guard #39c5cf1A
  rectangle "Lua Endpoint Selector" as n_lua_selector #39c5cf1A
  rectangle "Session Store" as n_session_store #39c5cf1A
  rectangle "Circuit Breaker" as n_circuit_breaker #39c5cf1A
  rectangle "Connection Accountant" as n_accountant #39c5cf1A
  rectangle "Relay Tunnel Dial" as n_relay_tunnel #39c5cf1A
  n_auth_cache -[hidden]-> n_ssrf_guard
  n_username_parser -[hidden]-> n_lua_selector
  n_rate_limiter -[hidden]-> n_session_store
  n_connection_limiter -[hidden]-> n_circuit_breaker
  n_ssrf_guard -[hidden]-> n_accountant
  n_lua_selector -[hidden]-> n_relay_tunnel
}

package "Relays & Upstream Pools" as g_relay #3fb95022 {
  rectangle "Relay EU (hub)" as n_relay_eu #3fb9501A
  rectangle "Relay US" as n_relay_us #3fb9501A
  rectangle "mbl Upstream Pool (ProxySmart)" as n_upstream_mbl #3fb9501A
  rectangle "peer Upstream Pool" as n_upstream_peer #3fb9501A
}

package "Backend Modules" as g_backend #bc8cff22 {
  rectangle "proxies-api (PM2)" as n_proxies_api #bc8cff1A
  rectangle "auth" as n_mod_auth #bc8cff1A
  rectangle "user" as n_mod_user #bc8cff1A
  rectangle "port" as n_mod_port #bc8cff1A
  rectangle "gateway (backend)" as n_mod_gateway #bc8cff1A
  rectangle "peer" as n_mod_peer #bc8cff1A
  rectangle "peer-account" as n_mod_peer_account #bc8cff1A
  rectangle "billing" as n_mod_billing #bc8cff1A
  rectangle "SlotTierService" as n_slot_tier #bc8cff1A
  rectangle "traffic" as n_mod_traffic #bc8cff1A
  rectangle "tariff" as n_mod_tariff #bc8cff1A
  rectangle "ticket" as n_mod_ticket #bc8cff1A
  rectangle "reseller" as n_mod_reseller #bc8cff1A
  rectangle "Reseller Pool-Keys API" as n_reseller_poolkeys_api #bc8cff1A
  rectangle "Gateway Auth Endpoint" as n_gw_auth_endpoint #bc8cff1A
  rectangle "Traffic Batch Endpoint" as n_traffic_batch_endpoint #bc8cff1A
  rectangle "Pool Availability/Stock API" as n_pool_availability #bc8cff1A
  rectangle "RoutingProbeService" as n_routing_probe #bc8cff1A
  rectangle "Pool-Quality Auto-Lister" as n_auto_list #bc8cff1A
  n_proxies_api -[hidden]-> n_mod_gateway
  n_mod_auth -[hidden]-> n_mod_peer
  n_mod_user -[hidden]-> n_mod_peer_account
  n_mod_port -[hidden]-> n_mod_billing
  n_mod_gateway -[hidden]-> n_slot_tier
  n_mod_peer -[hidden]-> n_mod_traffic
  n_mod_peer_account -[hidden]-> n_mod_tariff
  n_mod_billing -[hidden]-> n_mod_ticket
  n_slot_tier -[hidden]-> n_mod_reseller
  n_mod_traffic -[hidden]-> n_reseller_poolkeys_api
  n_mod_tariff -[hidden]-> n_gw_auth_endpoint
  n_mod_ticket -[hidden]-> n_traffic_batch_endpoint
  n_mod_reseller -[hidden]-> n_pool_availability
  n_reseller_poolkeys_api -[hidden]-> n_routing_probe
  n_gw_auth_endpoint -[hidden]-> n_auto_list
}

package "Datastores" as g_datastore #d2992222 {
  rectangle "x402 Session Store" as n_x402_session #d299221A
  rectangle "MongoDB" as n_ds_mongo #d299221A
  rectangle "PostgreSQL" as n_ds_postgres #d299221A
  rectangle "Redis" as n_ds_redis #d299221A
  rectangle "Endpoint Pool (Redis)" as n_endpoint_redis #d299221A
  rectangle "PostgreSQL Traffic Table" as n_postgres_traffic #d299221A
  rectangle "Per-Pak Usage Counters" as n_pak_usage_mongo #d299221A
  rectangle "Pool-Key Audit Log" as n_pak_audit #d299221A
  n_x402_session -[hidden]-> n_endpoint_redis
  n_ds_mongo -[hidden]-> n_postgres_traffic
  n_ds_postgres -[hidden]-> n_pak_usage_mongo
  n_ds_redis -[hidden]-> n_pak_audit
}

package "Payment Rails" as g_payment #f8514922 {
  rectangle "stripe" as n_mod_stripe #f851491A
  rectangle "CoinGate (USDT/TRON/BTC)" as n_coingate_crypto #f851491A
  rectangle "x402 Payment API" as n_x402 #f851491A
  rectangle "x402 Facilitator" as n_x402_facilitator #f851491A
}

package "Portals & Sites" as g_frontend #58a6ff22 {
  rectangle "Customer Portal" as n_customer_portal #58a6ff1A
  rectangle "Admin Panel" as n_admin_portal #58a6ff1A
  rectangle "Reseller Portal" as n_reseller_portal #58a6ff1A
  rectangle "Farmer Portal" as n_farmer_portal #58a6ff1A
  rectangle "Peer Portal" as n_peer_portal #58a6ff1A
  rectangle "agents.proxies.sx" as n_agents_landing #58a6ff1A
  rectangle "Pool Quickstart Page" as n_pool_quickstart #58a6ff1A
  n_customer_portal -[hidden]-> n_peer_portal
  n_admin_portal -[hidden]-> n_agents_landing
  n_reseller_portal -[hidden]-> n_pool_quickstart
}

package "SDKs & Clients" as g_sdk #56d36422 {
  rectangle "Android Peer SDK" as n_android_sdk #56d3641A
  rectangle "Reference SDK (JS)" as n_reference_sdk #56d3641A
  rectangle "@proxies-sx/mcp-server" as n_mcp_server #56d3641A
  rectangle "proxy-reseller-kit" as n_reseller_kit #56d3641A
  rectangle "@proxies-sx/pool-sdk" as n_pool_sdk #56d3641A
  rectangle "@proxies-sx/pool-portal-react" as n_pool_portal_react #56d3641A
  rectangle "Next.js Storefront Starter" as n_pool_starter_app #56d3641A
  rectangle "AI Agent" as n_agent #56d3641A
  rectangle "Proxy Customer" as n_customer #56d3641A
  n_android_sdk -[hidden]-> n_pool_sdk
  n_reference_sdk -[hidden]-> n_pool_portal_react
  n_mcp_server -[hidden]-> n_pool_starter_app
  n_reseller_kit -[hidden]-> n_agent
  n_pool_sdk -[hidden]-> n_customer
}

package "Infrastructure" as g_infra #8b949e22 {
  rectangle "Swagger Docs" as n_swagger #8b949e1A
  rectangle "Base Network" as n_base_network #8b949e1A
  rectangle "Solana Network" as n_solana_network #8b949e1A
  rectangle "WireGuard Mesh" as n_wireguard_mesh #8b949e1A
  rectangle "DE Server (EU Hub)" as n_de_server #8b949e1A
  rectangle "US Server" as n_us_server #8b949e1A
  rectangle "Nginx Reverse Proxy" as n_nginx #8b949e1A
  rectangle "Gateway Health/Metrics" as n_gateway_health #8b949e1A
  rectangle "Pool Access Key (pak_)" as n_pool_access_key #8b949e1A
  n_swagger -[hidden]-> n_de_server
  n_base_network -[hidden]-> n_us_server
  n_solana_network -[hidden]-> n_nginx
  n_wireguard_mesh -[hidden]-> n_gateway_health
  n_de_server -[hidden]-> n_pool_access_key
}

n_customer -[hidden]-> n_customer_portal
n_pool_quickstart -[hidden]-> n_api_entry
n_gw_socks5 -[hidden]-> n_auth_cache
n_relay_tunnel -[hidden]-> n_proxies_api
n_auto_list -[hidden]-> n_mod_stripe
n_x402_facilitator -[hidden]-> n_relay_eu
n_upstream_peer -[hidden]-> n_x402_session
n_pak_audit -[hidden]-> n_swagger
n_mod_auth -[#d29922]-> n_ds_mongo
n_mod_user -[#d29922]-> n_ds_mongo
n_mod_port -[#d29922]-> n_ds_mongo
n_mod_billing -[#d29922]-> n_ds_mongo
n_mod_tariff -[#d29922]-> n_ds_mongo
n_mod_ticket -[#d29922]-> n_ds_mongo
n_mod_reseller -[#d29922]-> n_ds_mongo
n_mod_peer -[#d29922]-> n_ds_mongo
n_mod_peer_account -[#d29922]-> n_ds_mongo
n_x402 -[#d29922]-> n_ds_mongo
n_x402 -[#f85149]-> n_x402_session
n_mod_gateway -[#d29922]-> n_ds_mongo
n_mod_traffic -[#d29922]-> n_ds_mongo
n_mod_traffic -[#d29922]-> n_ds_postgres
n_mod_stripe -[#d29922]-> n_ds_postgres
n_coingate_crypto -[#d29922]-> n_ds_postgres
n_mod_gateway -[#d29922]-> n_ds_redis
n_x402 -[#d29922]-> n_ds_redis
n_mod_peer -[#d29922]-> n_ds_redis
n_mod_reseller -[#d29922]-> n_ds_redis
n_mod_tariff -[#d29922]-> n_ds_redis
n_reseller_poolkeys_api -[#bc8cff]-> n_pool_access_key
n_reseller_poolkeys_api -[#d29922]-> n_pak_audit
n_gw_auth_endpoint -[#d29922]-> n_pak_audit
n_gw_auth_endpoint -[#bc8cff]-> n_ds_mongo
n_gw_auth_endpoint -[#d29922]-> n_ds_postgres
n_traffic_batch_endpoint -[#d29922]-> n_postgres_traffic
n_traffic_batch_endpoint -[#d29922]-> n_pak_usage_mongo
n_pool_availability -[#d29922]-> n_endpoint_redis
n_routing_probe -[#3fb950]-> n_relay_eu
n_routing_probe -[#d29922]-> n_endpoint_redis
n_auto_list -[#d29922]-> n_endpoint_redis
n_customer -[#d29922]-> n_gw_http
n_customer -[#d29922]-> n_gw_socks5
n_customer -[#d29922]-> n_pool_availability
n_agent -[#f85149]-> n_x402
n_customer -[#f85149]-> n_mod_stripe
n_customer -[#f85149]-> n_coingate_crypto
n_gw_http -[#bc8cff]-> n_rate_limiter
n_gw_socks5 -[#bc8cff]-> n_rate_limiter
n_gw_http -[#bc8cff]-> n_auth_cache
n_gw_socks5 -[#bc8cff]-> n_auth_cache
n_auth_cache -[#bc8cff]-> n_gw_auth_endpoint
n_lua_selector -[#d29922]-> n_endpoint_redis
n_session_store -[#d29922]-> n_upstream_mbl
n_session_store -[#d29922]-> n_upstream_peer
n_gw_http -[#3fb950]-> n_upstream_mbl
n_gw_http -[#3fb950]-> n_relay_tunnel
n_gw_socks5 -[#3fb950]-> n_upstream_mbl
n_gw_socks5 -[#3fb950]-> n_relay_tunnel
n_relay_tunnel -[#3fb950]-> n_relay_eu
n_relay_tunnel -[#3fb950]-> n_relay_us
n_circuit_breaker -[#d29922]-> n_endpoint_redis
n_gw_http -[#d29922]-> n_accountant
n_gw_socks5 -[#d29922]-> n_accountant
n_accountant -[#d29922]-> n_traffic_batch_endpoint
n_android_sdk -[#3fb950]-> n_relay_eu
n_android_sdk -[#3fb950]-> n_relay_us
n_reference_sdk -[#3fb950]-> n_relay_eu
n_reference_sdk -[#3fb950]-> n_relay_us
n_relay_eu -[#d29922]-> n_mod_peer
n_relay_us -[#d29922]-> n_mod_peer
n_relay_eu -[#d29922]-> n_endpoint_redis
n_relay_us -[#d29922]-> n_endpoint_redis
n_relay_eu -[#d29922]-> n_wireguard_mesh
n_relay_us -[#d29922]-> n_wireguard_mesh
n_relay_tunnel -[#d29922]-> n_wireguard_mesh
n_x402 -[#f85149]-> n_base_network
n_x402 -[#f85149]-> n_solana_network
n_x402_facilitator -[#f85149]-> n_base_network
n_customer_portal -[#d29922]-> n_pool_availability
n_customer_portal -[#39c5cf]-> n_gw_http
n_customer_portal -[#39c5cf]-> n_reseller_poolkeys_api
n_agents_landing -[#39c5cf]-> n_x402
n_pool_quickstart -[#39c5cf]-> n_gw_http
n_mcp_server -[#f85149]-> n_x402
n_pool_sdk -[#39c5cf]-> n_reseller_poolkeys_api
n_pool_portal_react -[#39c5cf]-> n_reseller_poolkeys_api
n_reseller_kit -[#3fb950]-> n_gw_http
n_pool_access_key -[#bc8cff]-> n_gw_http
@enduml
