PHPackages                             strider2038/json-rpc-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. strider2038/json-rpc-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

strider2038/json-rpc-client
===========================

Flexible JSON RPC v2 client for PHP written in object-oriented style

v0.5.0(4y ago)17.6k1MITPHPPHP ^7.4|^8.0

Since Mar 13Pushed 4y ago1 watchersCompare

[ Source](https://github.com/strider2038/json-rpc-client)[ Packagist](https://packagist.org/packages/strider2038/json-rpc-client)[ RSS](/packages/strider2038-json-rpc-client/feed)WikiDiscussions master Synced today

READMEChangelog (8)Dependencies (18)Versions (9)Used By (0)

JSON RPC v2 client for PHP
==========================

[](#json-rpc-v2-client-for-php)

[![Latest Stable Version](https://camo.githubusercontent.com/4ce3b18e0e99d6b04bd2110d9640ca2602c9de493de5b8ac64530e7bc0dd04cb/68747470733a2f2f706f7365722e707567782e6f72672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f762f737461626c65)](https://packagist.org/packages/strider2038/json-rpc-client)[![Total Downloads](https://camo.githubusercontent.com/8c7292de8042feeb57b89ed5d41ad74773bd49b6c69db9b71a703029fabd6ed1/68747470733a2f2f706f7365722e707567782e6f72672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f646f776e6c6f616473)](https://packagist.org/packages/strider2038/json-rpc-client)[![License](https://camo.githubusercontent.com/a3e68f1a04d6890a243cb14993b1a76865237a7ec0744fc475f32b5d72222af1/68747470733a2f2f706f7365722e707567782e6f72672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f6c6963656e7365)](https://packagist.org/packages/strider2038/json-rpc-client)[![Test](https://github.com/strider2038/json-rpc-client/actions/workflows/test.yml/badge.svg)](https://github.com/strider2038/json-rpc-client/actions/workflows/test.yml)[![Build Status](https://camo.githubusercontent.com/961875a7d8f5d69cf1047db9f56822da1a78030b6c67dc651a280cf0ab8da7a4/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/strider2038/json-rpc-client/build-status/master)[![Code Coverage](https://camo.githubusercontent.com/5c1f5ff48880839fcd0a95c7447c46fc969c26ab06ce4a7c12f8ffd83cce73d2/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/strider2038/json-rpc-client/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/b2faa0431f8ee3d085ccda57135f9a41621d361144e3fa464d208405f1812529/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73747269646572323033382f6a736f6e2d7270632d636c69656e742f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/strider2038/json-rpc-client/?branch=master)[![StyleCI](https://camo.githubusercontent.com/9301a5ac47b0733b1db229e87130cd24469e32ec937dd59717ffc23c52e6ef88/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3137323235343534322f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/172254542)

Flexible JSON RPC v2 client for PHP written in object-oriented style.

- Works under HTTP protocol (via [Guzzle](https://github.com/guzzle/guzzle) or [Symfony Http Client](https://symfony.com/doc/current/components/http_client.html)) and TCP/Unix sockets (without any dependencies).
- Can be used with [Symfony Serializer](https://symfony.com/doc/current/components/serializer.html) to serialize requests and responses.
- Can be used as Symfony bundle.
- Can be used with any [PSR-18](https://www.php-fig.org/psr/psr-18/) compatible HTTP client.
- Implements reconnection algorithm for socket transport (useful for long-running processes).

Installation
------------

[](#installation)

Use composer to install library. It is recommended to fix minor version while library is under development.

```
composer require strider2038/json-rpc-client ^0.5
```

Also, if you want to use it over HTTP protocol you have to install one of those clients: [Guzzle](https://github.com/guzzle/guzzle) or [Symfony Http Client](https://symfony.com/doc/current/components/http_client.html).

```
composer require guzzlehttp/guzzle
# or
composer require symfony/http-client
```

How to use
----------

[](#how-to-use)

- [Quick start](docs/quick_start.md)
- [Usage guide](docs/usage_guide.md)
    - [Response processing and error handling](docs/usage_guide.md#response-processing-and-error-handling)
    - [Using serializer](docs/usage_guide.md#using-serializer)
    - [Extending](docs/usage_guide.md#extending)
    - [Using PSR-18 transport](docs/usage_guide.md#using-psr-18-transport)
- [Using as Symfony Bundle](docs/symfony_bundle.md)
    - [Installation](docs/symfony_bundle.md#installation)
    - [Usage example](docs/symfony_bundle.md#usage-example)
    - [Configuration](docs/symfony_bundle.md#configuration)
    - [Using multiple clients](docs/symfony_bundle.md#using-multiple-clients)
- [Configuration](docs/configuration.md)

Possible features for next releases
-----------------------------------

[](#possible-features-for-next-releases)

- Object annotations for Symfony Bundle
- Symfony application example
- Caller context for possible authorization
- Bridge for JMS Serializer
- Web socket transport

###  Health Score

31

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 96.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~126 days

Recently: every ~142 days

Total

8

Last Release

1683d ago

PHP version history (2 changes)v0.1.0PHP ^7.2

v0.5.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/c5edb8cf7fe38bedeb682178fe31df17efb5e0314213b6ec2c7a25d97414c137?d=identicon)[strider2038](/maintainers/strider2038)

---

Top Contributors

[![strider2038](https://avatars.githubusercontent.com/u/10331395?v=4)](https://github.com/strider2038 "strider2038 (90 commits)")[![goodwix-owner](https://avatars.githubusercontent.com/u/46773332?v=4)](https://github.com/goodwix-owner "goodwix-owner (3 commits)")

---

Tags

clienthttpjson-rpcjsonrpcjsonrpc2phpphp7socketsymfonysymfony-bundletcpunixhttpclientunixtcpjsonrpcpsr18jsonrpc2

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/strider2038-json-rpc-client/health.svg)

```
[![Health](https://phpackages.com/badges/strider2038-json-rpc-client/health.svg)](https://phpackages.com/packages/strider2038-json-rpc-client)
```

###  Alternatives

[hprose/hprose

It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

2.1k213.5k30](/packages/hprose-hprose)[datto/json-rpc-http

HTTP client and server for JSON-RPC 2.0

65522.0k4](/packages/datto-json-rpc-http)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
