# specta-rs/rspc

A framework for building typesafe web backends in Rust

Repository: https://github.com/specta-rs/rspc
Canonical: https://ross.abutalabs.com/products/rspc
Homepage: https://rspc.dev
Language: Rust
License: MIT
License Family: permissive
Topics: trpc, trpc-rs, rust, api, blazingly-fast, typescript
Last push: 2025-11-24T10:02:10+00:00

## Health v2 (maintenance only)
Score: 54/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 53, release rhythm 28, longevity 100
- inputs: {"age_days": 1532, "days_push": 282, "days_rel": 582, "gap_med": 33.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1388, forks 70 (observed 2026-08-28T04:04:35.247169+00:00)

## What it is
rspc is a Rust framework for building typesafe web backends, inspired by tRPC, that lets you define routers with queries, mutations, and subscriptions in Rust and call them from a TypeScript client with end-to-end type safety. It integrates with Axum over HTTP/WebSocket and with Tauri via IPC, exporting TypeScript bindings from your Rust router.

## Use cases
- build a typesafe API in Rust called from a TypeScript frontend
- tRPC-like end-to-end type safety with a Rust backend
- expose Rust backend logic to a Tauri desktop app frontend
- generate TypeScript bindings from Rust router definitions
- add middleware like auth and logging to typed API procedures

## When to choose
- you want tRPC-style end-to-end typesafety with Rust on the backend
- you are building a Tauri app and want typed IPC between Rust and the web frontend
- you already use Axum and want typed procedures with minimal runtime overhead

## When to avoid
- starting a new project - rspc is explicitly no longer maintained; look at its successor specta instead
- you need a general-purpose REST or GraphQL framework rather than RPC-style typed procedures
- your team does not use TypeScript on the frontend, since the main benefit is Rust-to-TS type safety

## Facets
- artifact type: framework
- maturity: abandoned
- function: api-framework, rpc, middleware, routing, serialization
- domain: web-development, backend, apis, developer-tools
- platform: rust, cross-platform
- tags: trpc, typescript-bindings, end-to-end-typesafety, axum, tauri, specta, no-longer-maintained, nodejs, web-server, desktop

## Member repositories
- specta-rs/rspc (main) score 54

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:35.247169+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:39:47.288690+00:00, confidence not recorded.
  - readme: https://github.com/specta-rs/rspc (fetched 2026-08-28T04:04:35.247169+00:00, sha ba1878d962a8)
  - homepage: https://rspc.dev (fetched 2026-08-29T11:55:08.654769+00:00, sha 69966417ff15)
  - site_page: https://www.rspc.dev/quickstart (fetched 2026-08-29T11:55:08.657097+00:00, sha 34242c5d941e)
  - site_page: https://www.rspc.dev/alpha/quickstart (fetched 2026-08-29T11:55:08.662474+00:00, sha 6308579d8d45)
  - registry_crates: https://crates.io/api/v1/crates/rspc (fetched 2026-08-29T11:55:08.663997+00:00, sha 41040aea302d)
  - site_page: https://www.rspc.dev/integrations/axum (fetched 2026-08-29T11:55:08.659070+00:00, sha ec375758f826)
  - site_page: https://www.rspc.dev/integrations/tauri (fetched 2026-08-29T11:55:08.660876+00:00, sha 7b8290f750ca)
- Data as of 2026-08-30T08:39:29.467469+00:00.
