PHPackages                             it-healer/laravel-ethereum - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. it-healer/laravel-ethereum

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

it-healer/laravel-ethereum
==========================

A library for Laravel that allows you to create and manage the Ethereum cryptocurrency.

v1.7.3(1mo ago)11271MITPHPPHP ^8.2

Since Jul 23Pushed 1mo agoCompare

[ Source](https://github.com/it-healer/laravel-ethereum)[ Packagist](https://packagist.org/packages/it-healer/laravel-ethereum)[ Docs](https://github.com/it-healer/laravel-ethereum)[ RSS](/packages/it-healer-laravel-ethereum/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (12)Versions (21)Used By (0)

[![Logo](docs/logo.jpeg)](docs/logo.jpeg)

[ ![Latest Version on Packagist](https://camo.githubusercontent.com/e9b9d31db45eb2201c9bf0eaeccd18310b44a74ceb93032087c53bc77f4b2071/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f69742d6865616c65722f6c61726176656c2d657468657265756d2e7376673f7374796c653d666c61742663616368655365636f6e64733d33363030)](https://packagist.org/packages/it-healer/laravel-ethereum)[ ![Total Downloads](https://camo.githubusercontent.com/ea24513f54b5e1f56160d4fc418b4b32d6f13c88e2c57293239c93c82e437406/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f69742d6865616c65722f6c61726176656c2d657468657265756d2e7376673f7374796c653d666c61742663616368655365636f6e64733d33363030)](https://packagist.org/packages/it-healer/laravel-ethereum)**Laravel Ethereum Module** is a Laravel package for work with cryptocurrency Ethereum, with the support ERC-20 tokens. It allows you to generate HD wallets using mnemonic phrase, validate addresses, get addresses balances and resources, preview and send ETH/ERC-20 tokens. You can automate the acceptance and withdrawal of cryptocurrency in your application.

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

[](#requirements)

The following versions of PHP are supported by this version.

- PHP 8.2 and older
- Laravel 10 or older
- PHP Extensions: GMP, BCMath, CType.

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

[](#installation)

You can install the package via composer:

```
composer require it-healer/laravel-ethereum
```

After you can run installer using command:

```
php artisan ethereum:install
```

And run migrations:

```
php artisan migrate
```

Register Service Provider and Facade in app, edit `config/app.php`:

```
'providers' => ServiceProvider::defaultProviders()->merge([
    ...,
    \ItHealer\LaravelEthereum\EthereumServiceProvider::class,
])->toArray(),

'aliases' => Facade::defaultAliases()->merge([
    ...,
    'Ethereum' => \ItHealer\LaravelEthereum\Facades\Ethereum::class,
])->toArray(),
```

For Laravel 10 you edit file `app/Console/Kernel` in method `schedule(Schedule $schedule)` add:

```
$schedule->command('ethereum:sync')
    ->everyMinute()
    ->runInBackground();
```

or for Laravel 11+ add this content to `routes/console.php`:

```
use Illuminate\Support\Facades\Schedule;

...

Schedule::command('ethereum:sync')
    ->everyMinute()
    ->runInBackground();
```

Examples
--------

[](#examples)

First you need to add Ethereum Nodes, you can register account in [ANKR.COM](https://www.ankr.com/rpc/) get take HTTPS Endpoint with API key for Ethereum blockchain:

```
use \ItHealer\LaravelEthereum\Facades\Ethereum;

Ethereum::createNode('My node', 'https://rpc.ankr.com/eth/{API_KEY}');
```

Second you need add Ethereum Explorer, you can register account in [Etherscan.io API](https://etherscan.io/apis) and take Endpoint with API key:

```
use \ItHealer\LaravelEthereum\Facades\Ethereum;

Ethereum::createExplorer('My explorer', 'https://api.etherscan.io/api', '{API_KEY}');
```

You can create ERC-20 Token:

```
use \ItHealer\LaravelEthereum\Facades\Ethereum;

$contractAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7';
Ethereum::createToken($contractAddress);
```

Now you can create new Wallet:

```
use \ItHealer\LaravelEthereum\Facades\Ethereum;

$wallet = Ethereum::createWallet('My wallet');
```

### Custom derivation path

[](#custom-derivation-path)

Different wallets use different BIP-44 paths. The path template is stored per wallet (the `{index}` placeholder is replaced with the address index); the default is the standard `m/44'/60'/0'/0/{index}` used by MetaMask and most software wallets, so existing wallets and projects are not affected.

```
use \ItHealer\LaravelEthereum\Ethereum as EthereumCore;
use \ItHealer\LaravelEthereum\Facades\Ethereum;

// Ledger Live: m/44'/60'/{index}'/0/0
$wallet = Ethereum::createWallet('Ledger', derivationPath: EthereumCore::PATH_LEDGER_LIVE);

// Ledger Legacy / MyEtherWallet: m/44'/60'/0'/{index}
$wallet = Ethereum::createWallet('Old Ledger', derivationPath: EthereumCore::PATH_LEDGER_LEGACY);

// Any custom template
$wallet = Ethereum::createWallet('Custom', derivationPath: "m/44'/60'/1'/0/{index}");
```

The default template can be changed via `config('ethereum.wallet.default_derivation_path')`.

Adaptive synchronization (touch)
--------------------------------

[](#adaptive-synchronization-touch)

Enable adaptive sync (`ethereum.touch`) so addresses are polled **often while in use and rarely while idle**, instead of every run. An address is "active" for `waiting_seconds` after its last `touch_at` (set on user/merchant activity); while active it syncs no more often than `fast_interval`, while idle no more often than `slow_interval`.

```
// config/ethereum.php
'touch' => [
    'enabled' => true,
    'waiting_seconds' => 1800,  // stay "active" 30 min after last touch
    'fast_interval' => 60,      // while active: at most once per 60s
    'slow_interval' => 3600,    // while idle: at most once per hour (null = skip idle entirely)
],
```

Mark activity by updating `touch_at` when the wallet is used (GUI view, API call, unlock):

```
$address->update(['touch_at' => now()]);
// or in bulk for a wallet:
$wallet->addresses()->update(['touch_at' => now()]);
```

Defaults (`fast_interval` 0, `slow_interval` null) preserve the legacy behavior: active addresses sync every run, idle ones are skipped. `ethereum:address-sync --force` bypasses the schedule.

Alchemy support
---------------

[](#alchemy-support)

Alchemy can be used both as an **RPC node** and as a **transaction-history explorer**(`alchemy_getAssetTransfers`), and for **real-time deposits** via Address Activity webhooks.

```
// RPC node + Alchemy explorer (drop-in alternative to Etherscan)
Ethereum::createAlchemyNode(apiKey: 'YOUR_ALCHEMY_KEY', name: 'alchemy');
Ethereum::createAlchemyExplorer(apiKey: 'YOUR_ALCHEMY_KEY', name: 'alchemy');
```

The explorer is driver-based (`ethereum_explorers.driver` = `etherscan_v2` | `alchemy`); the sync, deposits and webhook handler are unchanged. The chain is taken from `config('ethereum.explorer.chain_id')` (1 = mainnet, 11155111 = Sepolia).

### Compute Units &amp; load balancing

[](#compute-units--load-balancing)

Every node/explorer request is metered in a `credits` counter (Compute Units) that resets monthly; `getNode()`/`getExplorer()` pick the least-used one, spreading load and Alchemy CU spend. CU costs come from `ItHealer\LaravelEthereum\Services\Alchemy\ComputeUnits` (override in `config('ethereum.compute_units')`). Set `ethereum.sync.track_outgoing=false` to detect deposits only and halve `getAssetTransfers` requests.

### Real-time deposits (Address Activity webhooks)

[](#real-time-deposits-address-activity-webhooks)

```
ETHEREUM_ALCHEMY_NOTIFY_AUTH_TOKEN=your-notify-auth-token   # dashboard → Webhooks → AUTH TOKEN
ETHEREUM_ALCHEMY_WEBHOOK_ENABLED=true
ETHEREUM_ALCHEMY_WEBHOOK_URL=https://your-app.com/ethereum/alchemy/webhook
ETHEREUM_ALCHEMY_AUTO_SUBSCRIBE=true
```

```
php artisan ethereum:alchemy-setup --reconcile   # create the webhook + subscribe existing addresses
php artisan ethereum:alchemy-reconcile           # sync watched-address list
php artisan ethereum:confirm-deposits            # mature confirmations (webhooks fire once)
```

Alchemy pushes a signed notification on incoming/outgoing activity; the package verifies the HMAC signature and triggers a targeted `AddressSync`. Facade API: `Ethereum::ensureAlchemyWebhook()`, `subscribeAlchemyAddress()`, `unsubscribeAlchemyAddress()`, `reconcileAlchemyWebhook()`.

Custom development &amp; contacts / Заказная разработка и контакты
------------------------------------------------------------------

[](#custom-development--contacts--заказная-разработка-и-контакты)

**EN** — Need a new project built from scratch, or these modules integrated into your existing application? Contact the developer directly — custom development, module integration and ongoing support are available.

**RU** — Нужен новый проект «под ключ» или интеграция этих модулей в существующее приложение? Свяжитесь с разработчиком напрямую — доступны заказная разработка, интеграция модулей и поддержка.

- 🌐 Website / Сайт: [it-healer.com](https://it-healer.com)
- ✈️ Telegram: [@biodynamist](https://t.me/biodynamist) · +90 551 629 47 16
- 📱 WhatsApp: [+90 551 629 47 16](https://wa.me/905516294716)
- 📧 Email:
- 🐛 Issues / Баг-репорты: [GitHub Issues](https://github.com/it-healer/laravel-ethereum/issues)

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Credits
-------

[](#credits)

- [IT-HEALER](https://github.com/it-healer)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance89

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 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

Every ~17 days

Recently: every ~0 days

Total

20

Last Release

55d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/222434019?v=4)[IT-HEALER | Путь от Программиста к Целителю](/maintainers/it-healer)[@it-healer](https://github.com/it-healer)

---

Top Contributors

[![it-healer](https://avatars.githubusercontent.com/u/222434019?v=4)](https://github.com/it-healer "it-healer (22 commits)")

---

Tags

blockchaincryptocryptocurrencyerc-20ethethereumlaravelphpwalletphplaravelethereumit-healer

### Embed Badge

![Health badge](/badges/it-healer-laravel-ethereum/health.svg)

```
[![Health](https://phpackages.com/badges/it-healer-laravel-ethereum/health.svg)](https://phpackages.com/packages/it-healer-laravel-ethereum)
```

###  Alternatives

[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329575.9k35](/packages/codewithdennis-filament-select-tree)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3915.5k](/packages/rawilk-profile-filament-plugin)

PHPackages © 2026

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