JSON-RPC Builder — Compose and Validate JSON-RPC 2.0 Payloads
Build and validate JSON-RPC 2.0 request and notification payloads with method and params. Fill in the method name, optional params (named or positional), and an id — the tool validates the input against the JSON-RPC 2.0 specification and outputs a formatted payload plus a ready-to-run curl command. Supports requests, fire-and-forget notifications, and batch arrays. Five presets cover the most common patterns. Free and runs entirely in your browser.
How to Use JSON-RPC Builder — Compose and Validate JSON-RPC 2.0 Payloads
How to Use the JSON-RPC Request Builder:
Load a Preset (Optional): Click any preset to pre-fill all fields with a real-world JSON-RPC 2.0 example. Simple call shows a named-params request. Positional params demonstrates array-style params. No params builds a call without a params field. Notification shows a fire-and-forget call with no id. Batch shows how to combine multiple calls into a single HTTP request array. All presets can be edited after loading.
Choose the Request Type: The Type selector offers three modes. Request is the standard call-and-response pattern where the server returns a matching response keyed by the id. Notification is a fire-and-forget message — the id field is omitted and the server sends no response. Batch lets you paste one JSON-RPC object per line; the tool wraps them into an array and generates a single curl command that sends all calls at once.
Enter the Method Name: The method field is required. It must be a non-empty string with no spaces. Method names starting with rpc. (for example rpc.discover) are reserved by the JSON-RPC 2.0 specification for internal use and are rejected. Conventionally, methods use dot notation to namespace them: user.getProfile, payments.refund, math.subtract.
Enter Params (Optional): Paste a JSON object for named params ({"userId": "abc"}) or a JSON array for positional params ([42, 23]). The field is optional — if left empty, the params field is omitted from the payload entirely, which is spec-compliant. Invalid JSON triggers an inline error and blocks payload generation.
Configure the ID: For Request type, choose whether the id should be a number (most common), a string, or null. A null id is technically valid under the spec but is discouraged because it is indistinguishable from a notification in some implementations. The id is omitted automatically for Notification type.
Set the Endpoint URL: Enter the URL of the JSON-RPC endpoint you want to call. This is only used to generate the curl command — it does not affect the JSON payload itself. Leave the default placeholder if you only need the payload.
Read the Output: The right panel shows the formatted payload in real time. Switch to the curl tab to see a complete curl command ready to paste into a terminal. Both outputs can be copied individually using the Copy payload and Copy curl buttons at the bottom.
Fix Validation Errors: Any spec violation (missing method, invalid JSON params, reserved method name) displays a red inline error under the affected field. The payload output is hidden until all errors are resolved.
Common Use Cases:
- Manual API testing: Build a payload and run it with curl before writing client code, to confirm the server accepts the call shape.
- JSON-RPC endpoint development: Quickly generate valid request shapes to test new server-side method handlers during development.
- Learning JSON-RPC 2.0: Use the presets to explore the difference between requests, notifications, and batch calls without reading the spec from scratch.
- Debugging existing integrations: Re-build a known-good payload in the builder and compare it to what your client is sending to spot field-level differences.
- Batch operation testing: Compose multi-method batch arrays to test server-side batch handling and response ordering.
Tips and Best Practices:
- Prefer named params (JSON objects) over positional params (arrays) for methods with more than two arguments — they are easier to maintain and extend.
- The id field is what the server echoes back in its response to match requests and responses. Use a unique id per in-flight request when making concurrent calls.
- A notification (no id) is appropriate for logging, telemetry, and event reporting where you do not need a success or error confirmation.
- JSON-RPC 2.0 always requires "jsonrpc": "2.0" — the builder adds this automatically.
- Batch responses may arrive in any order and may omit responses for notifications in the batch. Match each response to its request using the id field.
Frequently Asked Questions
Most Viewed Tools
TOTP Code Generator — 2FA Testing Tool
Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.
Use Tool →JSON to Zod — Schema Generator
Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.
Use Tool →JSONL Formatter — Line-by-Line Validator
Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.
Use Tool →Screen Size Converter — Diagonal Dimension Tool
Calculate screen width and height from diagonal size and aspect ratio. Convert between inches and centimeters for displays, TVs, and monitors with instant dimension calculations.
Use Tool →Password Entropy Calculator — Crack Time Estimator
Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.
Use Tool →TLS Cipher Suite Checker — Strength Analyzer
Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.
Use Tool →Secret Scanner — API Key & Credential Detector
Scan pasted text, code, or config files for accidentally exposed API keys, tokens, passwords, and private keys. Detects 50+ secret types across AWS, GitHub, Stripe, OpenAI, and more — all client-side, nothing leaves your browser.
Use Tool →TOML Config Validator — Syntax Error Finder
Validate TOML configuration file syntax and report errors with line numbers. Paste any TOML content — Cargo.toml, pyproject.toml, config.toml — and instantly see a green checkmark with key counts and structure stats, or a precise error message pointing to the exact line. Includes a collapsible JSON structure preview to confirm what was parsed.
Use Tool →Related API & Backend Tools
GraphQL Query Formatter — Mutation & Subscription Tool
Format and prettify GraphQL queries, mutations, subscriptions, and fragments with correct indentation.
Use Tool →REST Endpoint Documenter — Markdown Doc Generator
Document a REST endpoint quickly by entering the URL, method, headers, and sample request/response. Generates formatted Markdown documentation and an example cURL command instantly.
Use Tool →AMQP Exchange Configuration Simulator — Map Routing Keys and Queue Bindings
Generate RabbitMQ channel declaration code for Node.js (amqplib) and Python (pika). Select an exchange type, configure durability and options, add queue bindings with routing keys, and instantly get production-ready assertExchange and bindQueue calls. Supports all four exchange types: direct, fanout, topic, and headers. Four presets cover the most common RabbitMQ patterns. Free and runs entirely in your browser.
Use Tool →API Gateway Rate Limiting Calculator — Model RPS, Burst, and Token Buckets
Calculate token bucket size and refill rate from RPS targets for API gateway throttling. Enter your steady-state requests per second, burst multiplier, and average response time — the calculator outputs the bucket capacity, refill rate, per-minute and per-hour quotas, and concurrent connection estimate. Generates ready-to-paste throttling config for AWS API Gateway, Kong, and Nginx. Free and runs entirely in your browser.
Use Tool →OAuth Token Validator — JWT & OIDC Decoder
Validate and inspect OAuth tokens in your browser. Decode JWT access tokens and ID tokens to view claims, scopes, and expiry. Analyse opaque tokens for entropy and format. Free and private.
Use Tool →API Latency Budget Calculator — Plan Distributed System Performance
Set a P99 SLO latency target and distribute the budget across your upstream service dependencies. See remaining headroom, utilization percentage, a stacked allocation bar, and a per-service breakdown with optional P99 actual measurements.
Use Tool →API Mock Data Generator — Realistic JSON Builder
Generate structured, realistic mock data for API endpoint testing. Define fields with names and types — UUID, name, email, integer, enum, date, and more — set how many rows you need, and export as a JSON array, NDJSON, or CSV. All generation runs entirely in your browser with no data sent to any server.
Use Tool →Webhook Retry Config Calculator — Simulate Exponential Backoff & Jitter
Configure exponential backoff parameters and preview the full retry schedule for webhook delivery. Enter max attempts, initial delay, multiplier, jitter, and a max delay cap to instantly see each retry timestamp, cumulative elapsed time, jitter range, and which delays hit the cap. Supports presets for standard, aggressive, conservative, Stripe-style, and fixed-interval retry policies. Free and runs entirely in your browser.
Use Tool →Share Your Feedback
Help us improve this tool by sharing your experience