trpc /trpc

🧙‍♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.

★ 40,788⑂ 1,726👁 99⑃ 5,530● 1,376▤ 246◈ 944
TypeScriptMITCreated 2020-07-18tRPC.io
40,788
stars
+0
1,726
forks
99
watchers
5,530
prs
1,376
issues
246
releases
944
discussions

README

tRPC
  Move fast and break nothing.End-to-end typesafe APIs made easy.
  
    
  
  
    
  
  
    
  
  
    
  
  
  
    
  
  
  
  
    
    
      
        The client above is not importing any code from the server, only its type declarations.
      
    
  




 Intro

tRPC allows you to easily build & consume fully typesafe APIs without schemas or code generation.

 Features

- ✅  Well-tested and production ready.
- 🧙‍♂️  Full static typesafety & autocompletion on the client, for inputs, outputs, and errors.
- 🐎  Snappy DX - No code generation, run-time bloat, or build pipeline.
- 🍃  Light - tRPC has zero deps and a tiny client-side footprint.
- 🐻  Easy to add to your existing brownfield project.
- 🔋  Batteries included - React.js/Next.js/Express.js/Fastify adapters. _(But tRPC is not tied to React, and there are many community adapters for other libraries)_
- 🥃  Subscriptions support.
- ⚡️  Request batching - requests made at the same time can be automatically combined into one
- 👀  Quite a few examples in the ./examples-folder

 Quickstart

There are a few examples that you can use for playing out with tRPC or bootstrapping your new project. For example, if you want a Next.js app, you can use the full-stack Next.js example:

Quick start with a full-stack Next.js example:

sh
 yarn
yarn create next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter

 npm
npx create-next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter

 pnpm
pnpm create next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter

 bun
bunx create-next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter

 deno
deno init --npm next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-starter trpc-prisma-starter


👉 See full documentation on tRPC.io. 👈

 Star History



 Core Team

 Do you want to contribute? First, read the Contributing Guidelines before opening an issue or PR so you understand the branching strategy and local development environment. If you need any more guidance or want to ask more questions, feel free to write to us on Discord!

 Project leads

 The people who lead the API-design decisions and have the most active role in the development


  
    
      Alex / KATT
      Julius Marminge
      Nick Lucas
    
  


 Active contributors

 People who actively help out improving the codebase by making PRs and reviewing code


  
    
      Matthieu Hocquart
    
  


 Special shout-outs

 Individuals who have made exceptional contributions to tRPC through code, documentation, community building, and other valuable efforts


  
    
      Theo Browne
      Sachin Raja
    
  


 Sponsors

If you enjoy working with tRPC and want to support us, consider giving a token appre

Top issues

Discussions

Latest release

v11.25.2 v11.25.2 2026-11-08
@trpc/server

 Fixes

 fix(server): accept an empty POST body as undefined input by @1AbdullahButt in https://github.com/trpc/trpc/pull/7964
 fix(server): guard subscriptions on closing websockets by @Tiscs in https://github.com/trpc/trpc/pull/7976

 New Contributors

 @1AbdullahButt made their first contribution in https://github.com/trpc/trpc/pull/7964
 @Tiscs made their first contribution in https://github.com/trpc/trpc/pull/7976

Full Changelog: https://github.com/trpc/trpc/compare/v11.25.1...v11.25.2

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON