Skip to content

UFO RPC

Modern, cross-language, type-safe RPC framework that puts developer experience first

UFO RPC is the ideal tool for teams and developers who:

  • Want the type safety of gRPC without the complexity of Protobuf and HTTP/2
  • Need clear, well-defined APIs but don’t require the querying flexibility of GraphQL
  • Are looking for the simplicity of tRPC but need to support a polyglot ecosystem (beyond just TypeScript)
  • Value a fast workflow, exceptional tooling, and the ability to move confidently between the backend and frontend

In short, if you want to build modern APIs quickly and safely, UFO RPC is built for you.

DX first

Every single detail of UFO RPC is designed to make your life as a developer easier and more productive

  • Intuitive DSL: A simple, human-readable language for defining APIs
  • Powerful Tooling: LSP support, formatter, and a VS Code extension
  • Type Safety: End-to-end type safety from schema to client and server, never worry about mismatched types again
  • Standard Protocols: Built on HTTP, JSON, and Server-Sent Events (SSE) for maximum compatibility, debuggability, and ease of use even outside UFO RPC ecosystem
  • Compatible: UFO RPC Automatically generates an OpenAPI v3 specification from your schema, enabling integration with the vast ecosystem of existing tools

Open Source

UFO RPC is 100% open source and uses a dual-open-license approach:

  • UFO RPC Generator: AGPL-3.0 - Ensures this project remains free and open source forever
  • Generated Code: MIT - Your generated code is yours to use freely in any way you want

What This Means

  • For UFO RPC: Anyone who modifies UFO RPC must share their changes with the community
  • For Your Code: Use generated code in any project (commercial, private, open source)
  • Forever Free: No one can make UFO RPC proprietary or closed-source

Cross language

UFO RPC is designed to work in a polyglot ecosystem. The schema is the single source of truth, and from it, you can generate clients and servers in multiple programming languages.

It includes

  • Go Server & Client: Zero-dependency code for building high-performance backends or communicating microservices
  • TypeScript Server & Client: Zero-dependency code for seamless integration with the JavaScript/Node.js ecosystem and modern frontends
  • Dart Client: For building web, mobile and desktop applications, even with Flutter
  • OpenAPI: Automatically generate an OpenAPI specification from your schema, so you can use other code generators or tools that support OpenAPI
  • Code Snippets: The interactive playground generates ready-to-use code snippets for curl and many other programming languages

Interactive Playground

Every UFO RPC project can generate a static, zero-dependency, self-contained and responsive web portal where developers can:

  • Explore: All procedures, streams and data types
  • Read the Docs: Read the complete Markdown documentation that lives alongside your UFO RPC schema
  • Test the API: Execute procedures and subscribe to streams directly from the browser via auto-generated forms
  • Generate code: Generate your client SDK for the supported languages (Go, TypeScript, Dart) with a single click, without leaving the browser
  • Get Code Snippets: Get ready-to-use curl commands and client code snippets for many programming languages
  • Explore OpenAPI: The playground includes a built-in Swagger UI to explore the OpenAPI specification generated from your schema

The playground is unique to your UFO RPC schema and can be hosted anywhere you can serve static files.