JSON-RPC Spec Class Specification
Normative definition of the json-rpc-spec atom class in schema-atoms.
draft 1.0.0-draft design-spec
| id | schema-atoms/design-spec/json-rpc-spec-class-spec |
| authors | convergent-systems-co |
| conforms_to | schema-atoms/design-spec/atom-spec@1.1.0 |
| created | 2026-05-23 |
JSON-RPC Spec Class Specification
Class: json-rpc-spec
Version: 1.0.0-draft
Conforms to: schema-atoms/design-spec/atom-spec@1.1.0
What This Class Covers
The json-rpc-spec class represents JSON-RPC 2.0 method contracts expressed as structured specification documents. It captures method names, parameter schemas, result schemas, error codes, and notification definitions that together describe a JSON-RPC 2.0 API surface.
Accepted Asset Formats
.yaml— YAML-serialized JSON-RPC method specification document (preferred for human authorship).json— JSON-serialized JSON-RPC method specification document
Normative Requirements
- A
json-rpc-specatom MUST contain a single asset file that declares ajsonrpckey with the value"2.0"at its root, identifying compliance with the JSON-RPC 2.0 specification. - The asset MUST define at least one method entry with a
name,paramsschema, andresultschema. - The atom MUST NOT include transport-layer configuration (HTTP, WebSocket, stdio) or server implementation; it describes the method contract only.
Example Atom Reference
schema-atoms/api-spec/wallet-jsonrpc@1.0.0
├── atom.toml (class = "json-rpc-spec")
└── methods.yaml
This atom would declare the JSON-RPC 2.0 method contracts for a wallet service, including wallet_getBalance, wallet_sendTransaction, and their respective parameter and result schemas.
atom.toml
# atom.toml — class specification atom for json-rpc-spec
id = "schema-atoms/design-spec/json-rpc-spec-class-spec"
version = "1.0.0-draft"
content_hash = ""
lifecycle = "draft"
created_at = "2026-05-23T00:00:00Z"
[spec]
class = "design-spec"
title = "JSON-RPC Spec Class Specification"
summary = "Normative definition of the json-rpc-spec atom class in schema-atoms."
authors = ["convergent-systems-co"]
conforms_to = "schema-atoms/design-spec/atom-spec@1.1.0"
asset = "spec.md"