---
title: 'API Reference'
description: 'Full signatures for every function, class, and type the oRPC packages export, generated from the TypeScript declarations each package publishes.'
sidebar:
  icon: book-marked
---

Each package name links to its reference on [npmx](https://npmx.dev): every export with its signature and description, generated from the TypeScript declarations the package publishes. The guides beside it show those APIs in use.

:::tip
For questions the reference does not answer, [oRPC on DeepWiki](https://deepwiki.com/middleapi/orpc) maps out how the codebase fits together and lets you ask an AI assistant about any part of it.
:::

## Core

| Package                                                        | Purpose                                            | Related Guides                                                                                                                                                                                           |
| -------------------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [@orpc/contract](https://npmx.dev/package-docs/@orpc/contract) | Define API contract as the single source of truth. | [Procedure Contract](/docs/contract/procedure), [Contract Router](/docs/contract/router), [Implementation](/docs/contract/implementation), [Generate from OpenAPI](/docs/contract/generate-from-openapi) |
| [@orpc/server](https://npmx.dev/package-docs/@orpc/server)     | Build APIs or implement contracts.                 | [Procedure](/docs/procedure), [Router](/docs/router), [Middleware](/docs/middleware), [Context](/docs/context), [RPC Handler](/docs/rpc/handler)                                                         |
| [@orpc/client](https://npmx.dev/package-docs/@orpc/client)     | Consume APIs with end-to-end type safety.          | [Client-Side Clients](/docs/client/client-side), [Server-Side Clients](/docs/client/server-side), [RPC Link](/docs/rpc/link), [Error Handling](/docs/client/error-handling)                              |
| [@orpc/openapi](https://npmx.dev/package-docs/@orpc/openapi)   | Add OpenAPI compatibility to APIs.                 | [OpenAPI Handler](/docs/openapi/handler), [OpenAPI Link](/docs/openapi/link), [Specification](/docs/openapi/specification), [Scalar](/docs/openapi/scalar)                                               |

## Schema Validation

| Package                                                      | Purpose                            | Related Guides                        |
| ------------------------------------------------------------ | ---------------------------------- | ------------------------------------- |
| [@orpc/zod](https://npmx.dev/package-docs/@orpc/zod)         | JSON Schema converter for Zod.     | [Zod](/docs/integrations/zod)         |
| [@orpc/valibot](https://npmx.dev/package-docs/@orpc/valibot) | JSON Schema converter for Valibot. | [Valibot](/docs/integrations/valibot) |
| [@orpc/arktype](https://npmx.dev/package-docs/@orpc/arktype) | JSON Schema converter for ArkType. | [ArkType](/docs/integrations/arktype) |

## Built-in Features

| Package                                                                          | Purpose                                                            | Related Guides                                 |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------- |
| [@orpc/publisher](https://npmx.dev/package-docs/@orpc/publisher)                 | Pub/Sub with memory, Redis, and Upstash adapters.                  | [Publisher](/docs/helpers/publisher)           |
| [@orpc/ratelimit](https://npmx.dev/package-docs/@orpc/ratelimit)                 | Rate limiting with memory, Redis, and Upstash adapters.            | [Rate Limit](/docs/helpers/ratelimit)          |
| [@orpc/experimental-lock](https://npmx.dev/package-docs/@orpc/experimental-lock) | Locking with memory, Redis, and Upstash adapters.                  | [Lock](/docs/helpers/lock)                     |
| [@orpc/hibernation](https://npmx.dev/package-docs/@orpc/hibernation)             | Leverage Hibernation APIs like Cloudflare's WebSocket Hibernation. | [Hibernation](/docs/integrations/hibernation)  |
| [@orpc/json-schema](https://npmx.dev/package-docs/@orpc/json-schema)             | Smart coercion for OpenAPI requests.                               | [Smart Coercion](/docs/plugins/smart-coercion) |

## Framework and Ecosystem Integrations

| Package                                                                    | Purpose                                                               | Related Guides                                                                                                                                                     |
| -------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [@orpc/next](https://npmx.dev/package-docs/@orpc/next)                     | Integrate with Next.js Server Functions.                              | [Next.js](/docs/integrations/next)                                                                                                                                 |
| [@orpc/ai-sdk](https://npmx.dev/package-docs/@orpc/ai-sdk)                 | Turn contracts and procedures into AI SDK tools.                      | [AI SDK](/docs/integrations/ai-sdk)                                                                                                                                |
| [@orpc/mcp](https://npmx.dev/package-docs/@orpc/mcp)                       | Expose procedures as MCP tools.                                       | [MCP](/docs/integrations/mcp)                                                                                                                                      |
| [@orpc/tanstack-query](https://npmx.dev/package-docs/@orpc/tanstack-query) | Integrate with TanStack Query.                                        | [TanStack Query](/docs/integrations/tanstack-query)                                                                                                                |
| [@orpc/pinia-colada](https://npmx.dev/package-docs/@orpc/pinia-colada)     | Integrate with Pinia Colada.                                          | [Pinia Colada](/docs/integrations/pinia-colada)                                                                                                                    |
| [@orpc/swr](https://npmx.dev/package-docs/@orpc/swr)                       | Integrate with SWR.                                                   | [SWR](/docs/integrations/swr)                                                                                                                                      |
| [@orpc/effect](https://npmx.dev/package-docs/@orpc/effect)                 | Integrate with Effect.                                                | [Effect](/docs/integrations/effect)                                                                                                                                |
| [@orpc/msw](https://npmx.dev/package-docs/@orpc/msw)                       | Mock procedures at the network level with typed MSW request handlers. | [MSW](/docs/integrations/msw)                                                                                                                                      |
| [@orpc/nest](https://npmx.dev/package-docs/@orpc/nest)                     | Implement your contract with NestJS.                                  | [NestJS](/docs/integrations/nest)                                                                                                                                  |
| [@orpc/node](https://npmx.dev/package-docs/@orpc/node)                     | Node.js plugins for static file serving and large uploads.            | [Static File](/docs/plugins/static-file), [Tmp File Upload](/docs/plugins/tmp-file-upload), [Batch Response Compression](/docs/plugins/batch-response-compression) |
| [@orpc/bun](https://npmx.dev/package-docs/@orpc/bun)                       | Bun Redis adapters for Publisher, Rate Limit, and Lock.               | [Publisher](/docs/helpers/publisher), [Rate Limit](/docs/helpers/ratelimit), [Lock](/docs/helpers/lock)                                                            |
| [@orpc/cloudflare](https://npmx.dev/package-docs/@orpc/cloudflare)         | Adapters for Cloudflare Workers.                                      | [Publisher](/docs/helpers/publisher), [Rate Limit](/docs/helpers/ratelimit), [Lock](/docs/helpers/lock), [Traces](/docs/integrations/cloudflare-traces)            |
| [@orpc/trpc](https://npmx.dev/package-docs/@orpc/trpc)                     | Reuse existing tRPC routers within oRPC.                              | [tRPC](/docs/integrations/trpc)                                                                                                                                    |

## Observability

| Package                                                                  | Purpose                                 | Related Guides                                    |
| ------------------------------------------------------------------------ | --------------------------------------- | ------------------------------------------------- |
| [@orpc/opentelemetry](https://npmx.dev/package-docs/@orpc/opentelemetry) | Distributed tracing with OpenTelemetry. | [OpenTelemetry](/docs/integrations/opentelemetry) |
| [@orpc/pino](https://npmx.dev/package-docs/@orpc/pino)                   | Logging with Pino.                      | [Pino](/docs/integrations/pino)                   |
| [@orpc/evlog](https://npmx.dev/package-docs/@orpc/evlog)                 | Logging with Evlog.                     | [Evlog](/docs/integrations/evlog)                 |
