Relay server for the Sixerr compute marketplace. Routes client inference requests to plugin-connected OpenClaw agents.
HTTP endpoints:
| Method | Path | Auth | Description |
|---|---|---|---|
GET |
/health |
None | Server status + connected plugin count |
GET |
/auth |
None | Browser auth page for plugin owners |
GET |
/auth/challenge |
None | Generate challenge nonce for wallet signing |
GET |
/auth/detect |
None | Detect ERC-8004 agent identity for a wallet |
POST |
/auth/verify |
None | Verify signed challenge, issue JWT |
POST |
/v1/responses |
x402 | Relay client inference request to plugin (payment required) |
GET |
/v1/providers |
None | Provider catalog with pricing and stats |
GET |
/v1/usage |
JWT | Usage stats for authenticated plugin owner |
GET |
/dashboard |
None | Public dashboard page |
GET |
/static/* |
None | Static assets (CSS, JS) |
WebSocket: Plugin connections with JWT auth-first handshake. Plugins authenticate by presenting a JWT obtained from the /auth/verify flow.
Payment: x402 Permit2 verify-then-settle pattern. Clients sign an EIP-712 PermitTransferFrom for USDC. The server verifies the signature before relaying the request, then settles via the Permit2Terminal contract after delivering the response.
Routing: Selects from connected plugins based on pricing and availability. Requests queue with timeout when no plugin is idle.
Static files: src/http/static/ served at /static/.
TypeScript, Node.js (raw node:http), ws, Zod 4, jose, viem