Skip to main content
effect-orpc keeps oRPC’s input and output schema model. Use .input(...) and .output(...) before .effect(...).
schemas.ts

Inferred input

The handler sees the parsed schema output as input.
parsed-input.ts

Output validation

Use .output(...) for public response contracts.
output.ts
Output schemas validate what leaves the procedure. Keep internal fields out of public output schemas unless they are intentionally part of the API.

Next step

Provide services with Service injection.
Last modified on June 15, 2026