Northveil-MCP
Northveil ā Non-Custodial Agent Wallet & MCP Control Plane
Northveil is a strictly non-custodial control plane and Model Context Protocol (MCP) server for AI agents (Claude Desktop, Cursor, custom autonomous agents).
Core Invariant
The AI never holds keys. The server never holds a full key. The agent proposes an operation. A grant + policy engine decides if it can run. If approval is required, the user signs with a passkey. Signing happens by threshold MPC across isolated parties/TEEs. The agent only ever receives a derived result (tx hash, signature, scoped token) ā never a private key, seed, or MPC share.
š Official MCP Gateway Endpoints
Client | Role | URL / Command | Transport & Auth |
Claude.ai / Claude Desktop | Primary Connector |
| Streamable HTTP ⢠OAuth 2.0 (RFC 8414) |
ChatGPT Apps (Developer mode) | Primary Connector |
| Streamable HTTP ⢠OAuth 2.0 (RFC 8414) |
Cursor / Windsurf / Claude Code | Primary Remote |
| Streamable HTTP ⢠Bearer Token |
Legacy SSE Clients | Optional Compatibility |
| Server-Sent Events (SSE) |
Local Stdio Transport | CLI Bridge |
| stdio (JSON-RPC 2.0) |
Single Universal URL:
https://mcp.northveil.xyz/mcpis the universal endpoint for every user. User authentication (OAuth 2.0 / Bearer token) binds directly to the user's primary vault. No?wallet_address=query parameter is needed in the URL.
š”ļø Interactive In-Chat UI (MCP Apps)
Northveil serves interactive cards conforming to the MCP Apps specification (text/html;profile=mcp-app):
ui://northveil/sendā In-chat transfer approval cardui://northveil/swapā In-chat token swap staging cardui://northveil/deployā In-chat smart contract deployment & execution cardui://northveil/statusā Live spend request polling & transaction confirmation cardui://northveil/readā Vault balances and multi-chain portfolio rollups
Tool responses return _meta.ui.resourceUri so supporting clients render cards directly in the conversation. pure-text clients cleanly fallback to standard markdown text.
šļø Ecosystem Monorepo Architecture
Northveil/
āāā mcp-server/ # Non-custodial MCP Gateway (HTTP, SSE, OpenAPI, stdio)
ā āāā src/ # Modular control plane (grantEngine, approvals, passkey, mpcAdapter)
ā āāā test/ # Security and policy invariant test suites
ā āāā supabase/ # Non-custodial PostgreSQL schema & RLS policies
āāā sdk/ # Official TypeScript / JavaScript Client (npm: northveil-sdk)
āāā wallet/ # Next.js App Router biometric passkey control plane (wallet.northveil.xyz)
āāā docs/ # Protocol architecture specifications & database schemas
āāā supabase/ # Supabase migrations & row-level securityš Non-Custodial MPC Control-Plane Architecture
Zero Server-Side Private Key Storage: Northveil does not store your seed; Turnkey holds key material. No private keys, seed phrases, or MPC secret shares exist on the server, in memory as long-lived secrets, in Postgres, in environment variables, or in git.
WebAuthn Biometric Passkey Gating: Operations under Always Ask mode generate single-use approval tickets with 10-minute TTL. The challenge commits cryptographically to
sha256(canonicalUnsignedTx).Autonomous Agent Spending Scopes: Users grant AI agents scoped operational budgets with maximum per-transaction caps, rolling 24-hour daily limits, and recipient allowlists. Non-zero calldata is forbidden in autonomous mode.
Isolated Threshold MPC: Signing occurs inside hardware-isolated enclaves (Turnkey TEE partitions) upon validation of policy and cryptographic passkey assertion evidence. On hosted environments, Northveil cannot sign with the operator key alone; the code throws
ORG_ROOT_SIGN_FORBIDDENunless stamped by the user or scoped delegate (see SECURITY.md).
š License
MIT License Ā© 2026 Northveil Protocol.