Cap’n Proto is a high-performance serialization and RPC system with core tools and a C++ library. It is designed as a binary data interchange format that can replace JSON, Protocol Buffers, or similar schema-based formats in performance-sensitive systems. The project uses schemas to define structured data and interfaces, then generates code for working with those messages efficiently. Its RPC model is capability-based, which makes it suitable for distributed systems that need object-style communication across processes or machines. The repository contains the main compiler, C++ runtime, KJ library components, tests, style guidance, release tooling, and development branches. It is especially useful for systems programming, service communication, sandbox communication, and low-latency infrastructure.
Features
- Binary serialization format
- Capability-based RPC system
- Schema-driven code generation
- Core compiler and C++ runtime
- KJ asynchronous utility library
- Cross-language ecosystem support