EthRpcClient for critical paths requiring hex parity with Ethereum’s wire format (e.g., compliance tools, transaction validation).maxFeePerGas, baseFee) align with London fork standards without manual math.HttpClient) with minimal boilerplate.Psr\Clock\ClockInterface for deterministic transaction polling in CI/CD or local development.web3p/web3.php with a maintained, typed alternative.Adopt When:
ext-gmp/ext-bcmath enabled (critical for bigint safety).HttpClient, Guzzle) and want transport-agnostic RPC.EthRpcClient) for compliance or exact wire-format parity.Look Elsewhere If:
amashukov/eip1559-tx-signer-php alongside this).ext-gmp/ext-bcmath (risk of integer overflows).web3p/web3.php or ethereum/web3.php for WS support).ethers.js directly).*"This package lets us build Ethereum integrations in PHP faster and safer by eliminating custom RPC client development. Key benefits:
eth_* mirror for audits and a typed JsonRpcProvider facade for new code—cut boilerplate by 70%.*"This is a modern, PHP-native alternative to abandoned libraries like web3p/web3.php. Why switch?
EthereumTxBundle gives you isStatusSuccess() predicates and decimal-string wei values (no float loss).getFeeData() handles maxFeePerGas = 2 × baseFee + tip correctly, with Erigon/pre-London node quirks patched.HttpClient). Retries? Key rotation? Handle it in middleware.waitForTransaction uses Psr\Clock\ClockInterface, so polling is mockable in tests.
Trade-offs: No WebSocket support (HTTP-only), but if you need WS, we can layer web3.php alongside this for subscriptions.
Action: Let’s prototype this for [X use case]—it’s a drop-in replacement for web3.php with fewer dependencies and better typing."*How can I help you explore Laravel packages today?