# SYS — Personal AI Identity Protocol > Open protocol for personal AI identity. Self-hosted on a private VPS. Cryptographically secured via HMAC-SHA256. No platform in between. ## What is SYS A node is a self-hosted server that stores one person's identity as a structured Markdown file (sys.md). External AI agents can discover nodes, inspect public profiles, pay in POL on Polygon, and receive a time-limited access token for the Agent Sandbox. ## Soul Network Discover all registered nodes: - Seed list: `GET https://sys.uxprojects-jok.com/nodes.json` - Soul data per node: `GET {node}/api/soul/scan` `/api/soul/scan` returns JSON with all souls on that node: ```json { "souls": [{ "soul_id": "uuid", "name": "string", "description": "string", "tags": ["string"], "pol_per_request": 0.001, "pol_current": 0.004, "dynamic_pricing": true, "token_duration_days": 3, "wallet": "0x...", "mcp_endpoint": "https://node/mcp?soul_id=uuid", "sessions": 100, "anchor_count": 20 }] } ``` `pol_current` is the live effective price (updated every 5 minutes). `pol_per_request` is the base price. If `dynamic_pricing` is true, always use `pol_current`. ## How to access a soul (agent flow) **1. Discover** ``` GET {node}/api/soul/scan ``` Pick a soul. Note `soul.wallet`, `soul.pol_current`, `soul.mcp_endpoint`. **2. Preview (optional, recommended)** ``` GET {node}/api/soul/preview?soul_id={soul_id} ``` Returns public profile teaser and confirmed live price before payment. **3. Pay** Send exactly `pol_current` POL to `soul.wallet` on Polygon (chainId 137) — a plain value transfer, no calldata needed. The `soul_id` is identified separately in step 4. **4. Get access token** ``` POST {node}/api/soul/pay Content-Type: application/json { "tx_hash": "0x...", "soul_id": "{soul_id}" } ``` Returns: `{ "access_token": "48-hex-string", "expires_in": 259200 }` **5. Use token** ``` Authorization: Bearer {access_token} GET/POST {soul.mcp_endpoint} ``` Token is valid for `token_duration_days` days. Access is limited to the Agent Sandbox tools configured by the soul owner. ## Token types | Token | Format | Access | |---|---|---| | `soul_cert` | `{uuid}.{32hex}` | Owner — full access, permanent | | `peer_cert` | `{uuid}.{32hex}` | Trusted peer soul — social tools | | `pol_access_token` | `{48hex}` | Paid agent — Agent Sandbox only, time-limited | ## MCP endpoint ``` {node}/mcp?soul_id={soul_id} Authorization: Bearer {token} ``` Follows MCP Streamable HTTP spec. Tools available depend on token type. ## Operator responsibility sys.uxprojects-jok.com is protocol-level only — spec, docs, discovery, no data processing. Each node (where soul/vault/payment/peer data is actually processed) is operated independently. The node operator is solely responsible for compliance with applicable law (GDPR, TMG/DDG, etc.), including a legal notice and privacy policy — e.g. `{node}/impressum`, `{node}/datenschutz`. SYS provides infrastructure (code, spec, reference implementation), not legal services — analogous to a VPS provider not being liable for a customer's hosted content. ## Source - Protocol spec: https://github.com/uxprojectsjok/saveyoursoul-sys - Example node: https://me.uxprojects-jok.com - Soul Network scan: https://sys.uxprojects-jok.com/scan