Generate clients in minutes
Auto-generate idiomatic clients in multiple languages. Less glue code; fewer edge-case bugs.
One spec is all you need to produce tests, docs, and client/server code for your JSON-RPC API.
{
"openrpc": "1.2.6",
"info": {
"title": "Metrics RPC",
"version": "0.1.0",
"description": "Fetch service health metrics from any node."
},
"servers": [
{
"name": "primary",
"url": "https://metrics.example.com/rpc"
}
],
"methods": [
{
"name": "metrics_getSnapshot",
"summary": "Return current CPU, memory, and latency stats.",
"params": [
{
"name": "service",
"required": true,
"schema": {
"type": "string",
"description": "Service identifier."
}
}
],
"result": {
"name": "snapshot",
"schema": {
"type": "object",
"properties": {
"cpu": {
"type": "number"
},
"memoryMb": {
"type": "integer"
},
"p95LatencyMs": {
"type": "number"
}
}
}
}
}
]
}Why OpenRPC
With OpenRPC, you can go from prototype to production-grade services in hours, not weeks. You'll build discoverable, versioned APIs with JSON Schema to enforce client contracts, eliminate boilerplate, and scale faster.
Turn your spec into guardrails that catch API drift before production
Codegen, validation, and testing are modular. Pick the parts you need, customize or chain them together end-to-end to fit your workflow.
Let tools self-configure via rpc.discover. Our spec is discoverable by design.
Auto-generate idiomatic clients in multiple languages. Less glue code; fewer edge-case bugs.
Our spec is human-readable and json schema-powered. More expressive than most ad-hoc code comments or READMEs.
Turn spec examples into real requests/assertions using our `test-coverage` tool
Our playground, debugger, and linter are open-source libraries that empower the spec to accelerate every release.
OpenRPC is made possible by these amazing sponsors
Interested in corporate sponsorship? Contact us ❤️