A gRPC interface for UTxO Blockchains

Interact with UTxO-based blockchains using a shared specification with focus on developer experience and performance.

Motivation

why do we need UTxO RPC

Reusability

Enabling shared components that can be reused across different projects to simplify the integration effort.

Interoperability

A common interface to simplify integrations between different parties and avoid the common pitfall of vendor lock-in.

Performance

A serialized binary format which is compact and efficient, resulting in smaller message sizes and reduced network overhead compared to its JSON counterpart

Tenets

Guiding principles that shape the specification

Event-Driven

An interface that embraces the asynchronous nature of blockchains by leveraging event-driven integration patterns.

Minimal Boilerplate

A rich set SDKs for many mainstream languages such as Go, Rust, Python, JS, C++ and more, minimizing much of the tedious boilerplate.

Open Governance

A Technical Steering Committee (TSC) defined by the level of involvement in the source-code. Maintainers of the code decide how to evolve the protocol.

Proto3 & gRPC

A versatile IDL that facilitates reliable communication between systems while promoting cross-language compatibility and ease of use.

Good Documentation

Extensive documentation of all interfaces and structures to streamline the integration process.

Forward Compatible

Leverage the strengths of the Proto3 IDL to accommodate for future changes, plus a strict versioning system to deal with breaking changes.

SDKs

Libraries to build clients and servers