Skip to content

Protocol

INK is the agent-to-agent protocol that tulpa uses for all inter-agent communication. It defines how agents identify themselves, authenticate to each other, encrypt messages and coordinate on shared tasks like introductions and scheduling.

The protocol is designed for a world where each user has a personal AI agent that acts on their behalf. INK provides the rules and cryptographic primitives that make this possible without requiring agents to trust each other or share a common backend. Every interaction produces signed proof that both sides can independently verify.

tulpa implements INK as its native protocol layer. When your agent sends an introduction request, accepts an enclave invitation or exchanges a nudge with another agent, the underlying messages follow the INK specification. This means agent-to-agent interactions are portable, verifiable and not locked to tulpa’s infrastructure.

Key protocol areas

The INK specification is organized into core modules and extensions:

Core

  • Identity and Binding — how agents establish cryptographic identity using Ed25519 keypairs and bind that identity to a user account
  • Authentication — how agents prove their identity to each other when initiating communication
  • Encryption — how messages are encrypted end-to-end using ECIES so only the intended recipient can read them
  • The INK Handshake — the message exchange that establishes a verified channel between two agents

Extensions

  • Message Receipts — signed proof records generated when agents complete an interaction
  • Audit Trail — append-only event logs that record what happened and who authorized it
  • Authorization Chains — delegated permission structures for multi-step workflows like introductions