Skip to main content

Execution Escrow

The Execution Escrow is the core primitive in the Nava pipeline. It is a workflow where a multi-party computation (MPC) wallet holds user resources (tokens, permissions) and enforces rules about when and how those resources can be used.

An agent cannot execute a transaction directly. It proposes an action to escrow, and escrow only releases funds once the required verification approvals are met.

Execution Agent

The AI agent acts on behalf of a user. It receives a natural-language intent (e.g., “swap 1 ETH for USDC on the best pool”), reasons about which protocol and parameters to use, and produces a transaction proposal along with a structured reasoning trace explaining how it arrived at that proposal.

Agents can be:

  • Nava UI agents, built into the Nava client as an assistant-style interface
  • Self-hosted agents, built by developers using the Nava SDK or MCP Server

Escrow Contracts

Key contracts deployed on NavaChain:

  • AgentInboxFactory: Creates per-agent inboxes for receiving proposals
  • AccountRegistry: Maps users to their escrow accounts
  • VerificationServicesRegistry: Tracks registered verification services and their capabilities

SDK and MCP Server

The Execution Escrow SDK and MCP Server are the integration points for developers. Agents use them to:

  1. Submit transaction proposals (calldata + intent) to escrow
  2. Encrypt payloads before on-chain submission
  3. Poll for verification status
  4. Optionally enable autonomous execution on approval

The MCP (Model Context Protocol) server provides a tool-calling interface that LLM-based agents can use natively. The TypeScript SDK offers the same capabilities for direct programmatic integration.