Early Access Open

The Standard Protocol for
AI Agent Handoffs

Stop losing context when work passes between AI agents. Define, validate, and transfer agent state with machine-readable handoff documents.

0% Context Lost
100% Machine-Readable
Agent Types

The Multi-Agent Context Problem

😤

Lost Context

Every time an agent finishes or hits a limit, its context disappears. The next agent starts from scratch.

🔄

Redundant Work

New agents re-do research and decisions the previous agent already made, wasting time and resources.

📉

Degraded Quality

Inconsistent decisions, conflicting approaches, and lost institutional knowledge across agent boundaries.

Introducing the Handoff Protocol

A machine-readable standard for transferring agent state, decisions, and context.

📋

Standardized Schema

JSON-based handoff documents capture task state, decisions, resources, and next steps in a consistent format.

Schema Validation

Built-in validation ensures handoffs are complete and well-formed before transmission.

🔍

Queryable Handoffs

Search and filter handoffs by agent, status, date, or keywords. Find what you need instantly.

🔗

Framework Agnostic

Works with CrewAI, AutoGen, LangGraph, or any custom agent framework.

📦

NPM Package

Drop-in SDK with TypeScript support: createHandoff(), validateHandoff(), serializeHandoff().

🎯

Smart Merging

Combine multiple handoffs from parallel agents into a unified context for the next agent.

The Handoff Schema

A complete example of a handoff document

{
  "id": "handoff-abc123",
  "version": "1.0.0",
  "sourceAgent": {
    "name": "research-agent",
    "type": "claude",
    "capabilities": ["web-search", "data-analysis"]
  },
  "targetAgent": {
    "name": "writer-agent",
    "type": "gpt"
  },
  "taskState": {
    "status": "in_progress",
    "progress": 65,
    "summary": "Completed market research, found 3 key competitors",
    "blockers": []
  },
  "decisions": [
    {
      "description": "Focused on B2B SaaS market segment",
      "rationale": "Higher LTV, more predictable revenue",
      "timestamp": "2026-05-02T10:30:00Z"
    }
  ],
  "resources": [
    {
      "name": "market-research.json",
      "location": "s3://bucket/research.json",
      "type": "file",
      "description": "Competitor analysis data"
    }
  ],
  "nextSteps": [
    {
      "description": "Write introduction section",
      "priority": 1,
      "status": "pending"
    },
    {
      "description": "Create comparison table",
      "priority": 2,
      "dependencies": ["step-1"]
    }
  ],
  "constraints": {
    "style": "Professional, data-driven",
    "tech": ["React", "Node.js"],
    "deadline": "2026-05-05T00:00:00Z"
  },
  "metadata": {
    "createdAt": "2026-05-02T11:00:00Z",
    "tags": ["market-research", "competitor-analysis"]
  }
}

Easy Integration

Drop in the SDK and start creating handoffs in minutes

import { createHandoff, validateHandoff } from '@handoff/protocol';

// Create a handoff
const handoff = createHandoff({
  id: 'handoff-123',
  sourceAgent: { name: 'researcher', type: 'claude' },
  targetAgent: { name: 'writer', type: 'gpt' },
  taskState: { status: 'completed', progress: 100 },
  nextSteps: [{ description: 'Write conclusion', priority: 1 }]
});

// Validate before sending
const { valid, errors } = validateHandoff(handoff);
if (!valid) throw new Error(errors[0].message);

// Send to receiving agent
await agent.receiveHandoff(handoff);
npm install @handoff/protocol

Simple, Transparent Pricing

Start free, scale as you grow

Free

$0/mo
  • ✓ 10 handoffs per month
  • ✓ Schema validation
  • ✓ Basic dashboard
  • ✓ Public schema documentation
  • ✓ Community support

Team

$199/mo
  • ✓ Everything in Pro
  • ✓ 10 agent seats
  • ✓ Advanced audit logs
  • ✓ SSO / SAML
  • ✓ Dedicated support
  • ✓ Coming soon

Ready to standardize your agent handoffs?

Join the waitlist and be among the first to access the Handoff Protocol.