# Docs - **Get Started** - [Introduction](/docs): Solrouter is a cryptographically private AI layer — prompts are encrypted client-side and processed in an Intel TDX enclave, so no one can read your data. - [Quickstart](/docs/quickstart): Install @solrouter/sdk, generate an API key with your Solana wallet, and send your first encrypted AI request with just a few lines of TypeScript. - [Chat App](/docs/chat-app): Solrouter Chat at solrouter.com/chat gives you encrypted AI chat with file attachments, image generation, and a RAG knowledge base — no email required. - Core Concepts - [How It Works](/docs/concepts/how-it-works): Solrouter uses Arcium RescueCipher with X25519 key exchange and Intel TDX Trusted Execution Environments so plaintext never leaves the enclave. - [Encryption](/docs/concepts/encryption): Solrouter uses Arcium RescueCipher with X25519 key exchange for client-side encryption. Plaintext exists only inside an attested Intel TDX enclave. - [Attestation](/docs/concepts/attestation): Every Solrouter TEE response is backed by an Intel-signed TDX quote. Fetch the attestation and verify the enclave code yourself — on-chain or off-chain. - [Encryption Proof](/docs/concepts/encryption-proof): Every private inference writes an on-chain receipt signed inside the Intel TDX enclave. Paste the lock-icon link from any chat message — or an address, hash, or tx — and verify it yourself. - [Models](/docs/concepts/supported-models): Solrouter runs only self-hosted open-weight models on the Nosana GPU network — no prompts reach OpenAI, Anthropic, or any third-party provider. - [Agent Framework](/docs/concepts/agent-framework): Solrouter's agent framework combines SERV guided reasoning, skill graphs, and built-in Solana tools for deterministic, cost-efficient AI agent execution. - [SERV Reasoning](/docs/concepts/serv-reasoning): SERV replaces freeform LLM decisions with deterministic guided reasoning diagrams, cutting token costs by 79.7% and latency by 35% with no quality loss. - [Skill Graphs](/docs/concepts/skill-graphs): Skill graphs inject structured domain knowledge into Solrouter agent responses for DeFi, on-chain data, and market analysis — activated only when needed. - Development - [Authentication](/docs/develop/authentication): Solrouter uses bearer token authentication. Generate an API key at solrouter.com/sdk by connecting a Solana wallet — no email or KYC required. - [Privacy SDK](/docs/develop/privacy-sdk): Add end-to-end encrypted AI to any app in minutes. Install @solrouter/sdk, pass your API key, and call client.chat() — encryption handled automatically. - [Agent Tools SDK](/docs/develop/agent-tools-sdk): Typed tools for the Solrouter Agent Privacy API with a Vercel AI SDK adapter. Enable AI agents to execute privacy-preserving on-chain swaps on Solana. - [MCP Server](/docs/develop/mcp-server): Use Solrouter's encrypted AI and private swap tools directly from Claude Desktop or Cursor by installing the @solrouter/mcp-server MCP integration. - [Private Swaps](/docs/develop/private-swaps): The /agents/v1 API lets AI agents execute privacy-preserving token swaps on Solana through two modes: managed wallets and one-shot transactions. - Payments - [Pricing](/docs/payments/overview): Solrouter is metered per API call. Prepay in USDC or $ROUTER from your Solana wallet — no subscription, no credit card, no email required. - [$ROUTER Token](/docs/payments/tokenomics): $ROUTER is Solrouter's utility token on Solana. 1B total supply, 53.04% at TGE, with a buyback-and-burn model funded by 100% of protocol revenue. - API Reference - [Overview](/docs/api-reference/overview): The Solrouter REST API gives you encrypted AI chat, agent reasoning, TEE attestation, and private on-chain swaps. Base URL: https://api.solrouter.com - [Authentication](/docs/api-reference/authentication): Pass your Solrouter API key as a Bearer token in the Authorization header. Generate keys at solrouter.com/sdk — no email or credit card required. - [POST /agent](/docs/api-reference/agent): The /agent endpoint runs your prompt through SERV guided reasoning with access to web search, on-chain data, DEX quotes, and Solana tools. - TEE - [GET /tee/public-key](/docs/api-reference/tee/public-key): Fetch the TDX enclave's X25519 public key for client-side encryption. The SDK fetches this automatically; required only for custom client implementations. - **Agent Privacy API** - Swaps - [Quote a private swap](/docs/api-reference/agent-privacy/swaps/agents/v1/quote/get): Price a private swap before executing it. Returns the expected output after Solrouter's spread plus anonymity-set guidance — whether the amount snaps to a standard denomination bucket (strong privacy) or is an off-bucket amount with a unique on-chain fingerprint. - [Pool depth for a denomination bucket](/docs/api-reference/agent-privacy/swaps/agents/v1/anonymity-set/get): Inspect the anonymity set for a standard denomination bucket before swapping — how many recent deposits share that bucket. A deeper pool means a larger crowd to hide in. - [Begin a one-shot ephemeral-wallet private swap (Mode B)](/docs/api-reference/agent-privacy/swaps/agents/v1/swaps/oneshot/post): Start a private swap that runs through a throwaway ephemeral wallet — no managed custody. Solrouter returns an unsigned `fundingTx`; the agent signs and broadcasts it, then calls `POST /swaps/oneshot/{id}/execute` to kick off the swap orchestrator. - [Submit fundingTxSig and start the swap orchestrator](/docs/api-reference/agent-privacy/swaps/agents/v1/swaps/oneshot/id/execute/post): After signing + broadcasting the funding tx from the one-shot session, submit its signature here to start the swap. - Managed Wallets - [Provision a managed Umbra wallet (Mode A)](/docs/api-reference/agent-privacy/managed-wallets/agents/v1/wallets/post): Create a Solrouter-custodied Umbra wallet. The keypair is generated server-side and envelope-encrypted (AES-256-GCM) — the agent never holds private keys. Fund the returned `umbraAddress`, then run swaps and encrypted-balance operations against the wallet id. - [Build an unsigned funding tx for the agent to sign](/docs/api-reference/agent-privacy/managed-wallets/agents/v1/wallets/id/fund-intent/post): Returns an unsigned base64 transaction that moves tokens from the agent's own wallet into the managed wallet. The agent signs and broadcasts it. - [Run a private swap from a managed wallet (Mode A)](/docs/api-reference/agent-privacy/managed-wallets/agents/v1/wallets/id/swap/post): Execute a private swap funded by a managed wallet's balance. Returns a session id to poll; no client-side signing needed. - [Wallet operation audit log](/docs/api-reference/agent-privacy/managed-wallets/agents/v1/wallets/id/audit/get): Chronological audit log of every operation on a managed wallet (created, swap, encrypt, shield, withdraw), newest first. - Private Balance - [Encrypt a public balance into an encrypted balance](/docs/api-reference/agent-privacy/private-balance/agents/v1/wallets/id/encrypt/post): One tx, ~10s. Funds stay at the same Umbra address but the running balance + future activity become ciphertext on chain. No mixer, no fresh address. Use when you want amount-privacy without breaking address linkability. - [Shield + unlink — mixer round-trip to a fresh address](/docs/api-reference/agent-privacy/private-balance/agents/v1/wallets/id/shield/post): Four txs, ~60s. Public balance enters the Umbra mixer, a claim breaks the on-chain link, then withdraw + transfer delivers to a FRESH destination. Source and destination both appear on-chain but with no link between them. Use when you want destination unlinkability without converting tokens. - [Withdraw from encrypted balance to a public address](/docs/api-reference/agent-privacy/private-balance/agents/v1/wallets/id/withdraw/post): Move funds out of a managed wallet's encrypted balance to a public Solana address. - [Encrypted-balance snapshot for given mints](/docs/api-reference/agent-privacy/private-balance/agents/v1/wallets/id/balance/get): Decrypt and return the managed wallet's encrypted balance for one or more mints (comma-separated). - Inference - [Cryptographically private AI inference (Arcium-encrypted, x402-paywalled)](/docs/api-reference/agent-privacy/inference/api/v1/x402/chat/completions/post): OpenAI-compatible chat completions. The prompt MUST be Arcium-encrypted client-side using `@solrouter/sdk`'s `encryptPrompt()` helper; the encrypted prompt is processed and the response returned encrypted, without Solrouter ever seeing plaintext. Pay-per-call x402 ($0.005 USDC flat per call). For per-token internal-credit billing with an API key, use POST /api/v1/chat/completions instead. - Sessions - [Poll a swap session's state](/docs/api-reference/agent-privacy/sessions/agents/v1/sessions/id/get): Fetch the current state of any swap/balance session. Poll until `state` is `settled` (or `failed`). - [On-chain attestation for a settled session](/docs/api-reference/agent-privacy/sessions/agents/v1/attestations/sessionid/get): Once a session settles, fetch its on-chain attestation PDA + a snapshot of the swap (mints, amounts, final tx) with Solscan links.