# Kotlin/kotlinx-rpc

Add asynchronous RPC services to your multiplatform applications.

Repository: https://github.com/Kotlin/kotlinx-rpc
Canonical: https://ross.abutalabs.com/products/kotlinx-rpc
Homepage: https://kotlin.github.io/kotlinx-rpc/
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: asynchronous, coroutines, kotlin, rpc
Last push: 2026-08-26T14:53:27+00:00

## Health v2 (maintenance only)
Score: 86/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 78, longevity 69
- inputs: {"age_days": 971, "days_push": 7, "days_rel": 68, "gap_med": 30.5, "n_releases_24m": 15}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1066, forks 51 (observed 2026-08-28T04:03:27.012070+00:00)

## What it is
kotlinx.rpc is an official JetBrains Kotlin library for adding asynchronous Remote Procedure Call (RPC) services to Kotlin Multiplatform applications using ordinary language constructs like interfaces, suspend functions, and Flows. It supports multiple transports including a Ktor integration and a preview gRPC Kotlin Multiplatform integration.

## Use cases
- call server methods from a Kotlin Multiplatform app over RPC
- expose an RPC service from a Ktor backend
- stream data to clients with Flow-based RPC methods
- share service interfaces between client and server code
- use gRPC from Kotlin Multiplatform
- build asynchronous client-server communication with coroutines

## When to choose
- you are building a Kotlin Multiplatform app and want typed RPC with shared interfaces
- you prefer suspend functions and Flows over manual HTTP API plumbing
- you want a JetBrains-maintained RPC library with Ktor or gRPC transports

## When to avoid
- you need a battle-tested, stable RPC solution for production today
- your stack is not Kotlin or does not target Kotlin Multiplatform
- you need broad language interop beyond Kotlin clients and servers

## Facets
- artifact type: library
- maturity: experimental
- function: rpc, serialization, middleware
- domain: backend, web-development, developer-tools, apis
- platform: jvm, cross-platform
- tags: kotlin-multiplatform, coroutines, ktor, grpc, asynchronous, jetbrains-official, android, ios

## Member repositories
- Kotlin/kotlinx-rpc (main) score 86

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:27.012070+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-30T06:55:13.509933+00:00, confidence not recorded.
  - readme: https://github.com/Kotlin/kotlinx-rpc (fetched 2026-08-28T04:03:27.012070+00:00, sha e9d2f3997209)
  - homepage: https://kotlin.github.io/kotlinx-rpc/ (fetched 2026-08-29T12:57:03.709816+00:00, sha ba72c386743f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
