PHPackages                             amashukov/eth-php - 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. [API Development](/categories/api)
4. /
5. amashukov/eth-php

ActiveLibrary[API Development](/categories/api)

amashukov/eth-php
=================

Standalone Ethereum / EVM SDK for PHP — Keccak-256, secp256k1 + ECDSA (RFC 6979), RLP, EIP-1559 offline signing, ABI calldata encoder, and an ethers.js-style JSON-RPC client. Umbrella package pulling the full pure-PHP EVM stack.

v0.1.0(2w ago)0194↑73.3%1MITPHPPHP &gt;=8.3CI passing

Since May 24Pushed 2w agoCompare

[ Source](https://github.com/AndreyMashukov/eth-php)[ Packagist](https://packagist.org/packages/amashukov/eth-php)[ RSS](/packages/amashukov-eth-php/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (11)Versions (2)Used By (1)

amashukov/eth-php
=================

[](#amashukoveth-php)

Pure-PHP Ethereum / EVM SDK — Keccak-256, secp256k1 ECDSA, RLP, EIP-1559 offline signing, ABI encoder, and an ethers.js-style JSON-RPC client in one `composer require`.

[![CI](https://camo.githubusercontent.com/98eadef7f07369ecdd8ba42211964f8cde9d7e1f0b129f7849619073ee461aec/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f416e647265794d617368756b6f762f6574682d7068702f63692e796d6c3f6272616e63683d6d61696e266c6162656c3d4349)](https://github.com/AndreyMashukov/eth-php/actions)[![PHPStan L9](https://camo.githubusercontent.com/1f11f2ae1cfb6ee3c11811da9a9fdf71689a2f5d46658fa884011557a61a5f39/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f416e647265794d617368756b6f762f6574682d7068702f7374616e2e796d6c3f6272616e63683d6d61696e266c6162656c3d5048505374616e2532304c39)](https://github.com/AndreyMashukov/eth-php/actions)[![Latest Version](https://camo.githubusercontent.com/7c2b212c6a341ef68cdebc1b35076ea11141ff5a8fd5f3fdcfff9ff8459dd008/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616d617368756b6f762f6574682d706870)](https://packagist.org/packages/amashukov/eth-php)[![Downloads](https://camo.githubusercontent.com/82e871fbe29c78c77a79b24764eb90456742927af717375c3fbc4da5431cf51d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616d617368756b6f762f6574682d706870)](https://packagist.org/packages/amashukov/eth-php)[![PHP](https://camo.githubusercontent.com/8dac8382b6c8e0ead9e0a9a34eccc5199ada4c9325472f444b40c557c261557b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f616d617368756b6f762f6574682d7068702f706870)](https://packagist.org/packages/amashukov/eth-php)[![License](https://camo.githubusercontent.com/c51b4d2613714c0ff5818f833cbe33ad262b6a46a5082c8b70f34e056dd32570/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f616d617368756b6f762f6574682d706870)](LICENSE)[![Stars](https://camo.githubusercontent.com/2d7e1ddfb348b6777439be80a7e3b2d7e6c68b5c9433ab4051b129caeb614e7a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f416e647265794d617368756b6f762f6574682d7068703f7374796c653d736f6369616c)](https://github.com/AndreyMashukov/eth-php)

`amashukov/eth-php` is a standalone **Ethereum / EVM SDK for PHP** — a single umbrella package that pulls every EVM-side primitive you need: Keccak-256 / SHA-3 hashing, secp256k1 EC arithmetic with RFC-6979 low-S ECDSA, RLP encoding, EIP-1559 (Type-2) offline transaction signing, a Solidity ABI calldata encoder, and an ethers.js v6-style JSON-RPC client. Pure PHP, zero blockchain-library dependencies, no Symfony. It is the first maintained **ethers.js-style PHP SDK with full EIP-1559 support**.

Features
--------

[](#features)

- **Keccak-256 / SHA-3** — the hashing primitive every EVM selector and address derives from.
- **secp256k1 + ECDSA** — EC point arithmetic plus RFC-6979 deterministic, low-S signatures.
- **RLP** — recursive-length-prefix encoder / decoder for transactions and structures.
- **EIP-1559 offline signing** — assemble and sign Type-2 raw transactions without a node.
- **ABI calldata encoder** — Solidity ABI encoding that matches ethers.js byte-for-byte.
- **ethers.js-style RPC client** — JSON-RPC v6-style client with typed value objects over any PSR-18 transport.
- **One install** — the full EVM stack ships through a single `composer require`.

Why amashukov/eth-php
---------------------

[](#why-amashukoveth-php)

`web3p/web3.php` is the historical PHP EVM client (~600★), but it is effectively abandoned and has **no EIP-1559 (Type-2) support** — it can only build legacy transactions, which most modern chains and tooling have moved past. `amashukov/eth-php` is the **first maintained ethers.js-style PHP SDK with EIP-1559**: deterministic low-S signing, an ABI encoder that matches ethers.js byte-for-byte, and a v6-style typed RPC client — each layer separately versioned, the whole stack behind **one** `composer require`.

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

[](#installation)

```
composer require amashukov/eth-php
```

Usage
-----

[](#usage)

Each layer keeps its own namespace; import what you need:

```
use Amashukov\Keccak\Keccak;
use Amashukov\AbiEncoder\AbiEncoder;
use Amashukov\Eip1559TxSigner\Eip1559Signer;
use Amashukov\EthRpc\EthRpcClient;
use Amashukov\EthRpc\JsonRpcProvider;

// Hash, encode calldata, sign a Type-2 tx, and broadcast it — see each
// sub-package README for the full API.
```

The layers compose: the RPC client's `getErc20Balance()` builds its calldata through the ABI encoder, which derives selectors through Keccak — one consistent stack, no duplicated crypto.

Requirements
------------

[](#requirements)

- PHP 8.3+
- `ext-gmp` (bigint EC + wei math)
- `ext-bcmath`
- A PSR-18 HTTP client + PSR-17 factories for the RPC client (e.g. [`amashukov/http-client-php`](https://github.com/AndreyMashukov/http-client-php) + [`nyholm/psr7`](https://github.com/Nyholm/psr7))

Related packages
----------------

[](#related-packages)

PackageLayer[amashukov/keccak-php](https://github.com/AndreyMashukov/keccak-php)Keccak-256 / SHA-3[amashukov/secp256k1-php](https://github.com/AndreyMashukov/secp256k1-php)secp256k1 EC arithmetic + ECDSA (RFC 6979, low-S)[amashukov/rlp-php](https://github.com/AndreyMashukov/rlp-php)RLP encoder / decoder[amashukov/eip1559-tx-signer-php](https://github.com/AndreyMashukov/eip1559-tx-signer-php)EIP-1559 (Type-2) offline raw-tx assembly + signing[amashukov/abi-encoder-php](https://github.com/AndreyMashukov/abi-encoder-php)Solidity ABI calldata encoder (ethers.js-exact)[amashukov/eth-rpc-client-php](https://github.com/AndreyMashukov/eth-rpc-client-php)ethers.js v6-style JSON-RPC client + typed VOs over PSR-18[amashukov/http-client-php](https://github.com/AndreyMashukov/http-client-php)PSR-18 cURL HTTP client[amashukov/ton-php](https://github.com/AndreyMashukov/ton-php)Sister umbrella SDK for TON (The Open Network)[amashukov/blockchain-context-bundle](https://github.com/AndreyMashukov/blockchain-context-bundle)Symfony 7 bundle wiring the TON + EVM stacksQuality
-------

[](#quality)

- **PHPStan level 9** across the whole stack.
- **php-cs-fixer** with the `@PER-CS` ruleset.
- **GitHub Actions CI** on every push.
- **Parity tests** pin the ABI encoder and signed transactions byte-for-byte against ethers.js.

License
-------

[](#license)

MIT — see [LICENSE](LICENSE). Each bundled package is MIT-licensed in its own repository.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance97

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

16d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4b3e86ca79a82515b23e0239b1d3616c747e59b64c40e169d538d5c759c9bbc4?d=identicon)[Andrey Mashukov](/maintainers/Andrey%20Mashukov)

---

Top Contributors

[![AndreyMashukov](https://avatars.githubusercontent.com/u/24682497?v=4)](https://github.com/AndreyMashukov "AndreyMashukov (3 commits)")

---

Tags

blockchaineip-1559ethereumethersevmphpsdkweb3sdkethereumweb3blockchainsecp256k1keccakevmetherseip-1559abi

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/amashukov-eth-php/health.svg)

```
[![Health](https://phpackages.com/badges/amashukov-eth-php/health.svg)](https://phpackages.com/packages/amashukov-eth-php)
```

###  Alternatives

[drlecks/simple-web3-php

Web3 library in PHP

7943.5k2](/packages/drlecks-simple-web3-php)[blocktrail/blocktrail-sdk

The BlockTrail PHP SDK, for integration of Bitcoin functionality through the BlockTrail API

4921.1k3](/packages/blocktrail-blocktrail-sdk)[mocking-magician/coinbase-pro-sdk

Library for coinbase pro API calls

223.2k](/packages/mocking-magician-coinbase-pro-sdk)

PHPackages © 2026

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