Solrouter
How it works

Architecture

Every part of Solrouter on one interactive map: what each part holds, what it can see, and where the code lives.

Private swaps are Soon. Every other part of the map is Live.

Solrouter has a handful of moving parts. This map shows all of them at once: what each part holds, what it can see, and where the code lives. Each page in this section zooms into one piece. It gets technical, and every claim points at the code.

Click a node to open its details. Drag to pan. Pinch to zoom.

Select a node to see what it holds and what it sees.

In words

  • Chat app (solrouter.com/chat): holds your session, an ephemeral X25519 key, and your sealed chat history in IndexedDB. Every normal message, signed in or guest, is sealed in the browser and sent to /tee/process, with no plaintext fallback. Agent mode is sealed too: the agent runs inside the enclave with a privacy-safe tool set (web search, token prices and security, trending tokens, swap quotes, wallet balances). Only the Extended tools switch, which enables the Notion and GitHub connectors and scraping, runs on the backend and is not sealed.
  • @solrouter/sdk: holds your API key and encrypts by default. Sends the ciphertext bundle plus the API key, model id, and chat id in plaintext.
  • @solrouter/mcp-server (your machine): holds SOLROUTER_API_KEY and, optionally, BRAVE_API_KEY. Four tools use the sealed path for the model step. Search and market lookups go to third parties in plaintext.
  • REST and x402 clients: send whatever they build. POST /api/v1/chat/completions and /tee/process require encryptedPrompt; /agent accepts plaintext or encryptedPrompt.
  • Solrouter backend (behind api.solrouter.com): checks the key, meters each sealed call against a plan, free messages, or USDC balance, runs the x402 paywall, relays ciphertext to the enclave, and commits receipts with its deployer wallet. It holds no decryption key on the encrypted path.
  • Intel TDX enclave on Phala dStack: generates an X25519 sealing key and an ed25519 signing key at boot, decrypts with RescueCipher, requests TDX quotes from the tappd agent, runs a 5-tool allowlist for encrypted agent mode, and hosts SearXNG in the same enclave.
  • H200 GPU enclave on Phala: runs Qwen3.5 122B in vLLM inside NVIDIA confidential computing. The host sees only encrypted memory; only the TDX enclave can call it.
  • Nosana GPU node, one per smaller model (GPT-OSS 20B, Qwen3.8 27B, Qwen3-coder 30B): runs the open-weight model in Ollama and sees the prompt and reply during inference. Solrouter does not control that hardware.
  • Solana: holds one Light Protocol compressed receipt per private inference, under program ATMRatMtsKX4bHax7U4FRdhbE4mjU4NKpDZGqZqAhBKb.
  • Umbra mixer plus Jupiter (Soon): the private-swap path. The backend orchestrates it; no mainnet run is confirmed.
  • x402 facilitator: the live manifest advertises Coinbase. Which facilitator settles a payment is set on the server and is not visible from outside. The agent never talks to the facilitator.

Zoom in

On this page