PHPackages                             desnake/web3signature - 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. desnake/web3signature

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

desnake/web3signature
=====================

Laravel package for extracting addresses from signed messages received from web3 client.

04PHP

Since Oct 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Sumitkumar193/Web3Signature)[ Packagist](https://packagist.org/packages/desnake/web3signature)[ RSS](/packages/desnake-web3signature/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Web3Signature
=============

[](#web3signature)

Laravel Package for extracting addresses from web3 signed messages

Usage
=====

[](#usage)

Composer:

```
composer require desnake/web3signature

```

In view:

```
//prepare message to sign

const msgtext = {{$msg}};   //Message from backend database sent with view
const hashedMessage = Web3.utils.fromUtf8(msgtext);
console.log(hashedMessage);

//get user to sign the message

const signature = await window.web3.eth.sign(hashedMessage, accounts[0]);

//Make request to controller and verify signature in backend via API
//!!CAUTION!!
//Not much secure way to do this but only for demo purposes.

const URL = "api.myproject.com/api/v1/";
const request = URL + msgtext + "/" + signature;

window.location.href(request);

```

In controller:

1: Make a api route in such a way that a signature is passed to controller function 2: Import trait Web3ForContracts into the controller:

```
    use DeSnake\Web3signature\Web3ForContracts;
    and Include trait into the controller class.
    `` use Web3ForContracts;``

```

3: Call personal\_ecRecover function from controller:

```
Note: $msg is plaintext string that is signed and signature is the signed message
    $msg = "Hello World";   //Message from backend database.
    $address = $this->personal_ecRecover($msg, $signature);

```

NOTE:
=====

[](#note)

Package is in development mode.

Full examples are available in ./Example folder.

Special Thanks to  &amp;&amp;  &amp;&amp;

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

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

### Community

Maintainers

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

---

Top Contributors

[![sumitkumar33](https://avatars.githubusercontent.com/u/113529967?v=4)](https://github.com/sumitkumar33 "sumitkumar33 (10 commits)")[![Sumitkumar193](https://avatars.githubusercontent.com/u/100846437?v=4)](https://github.com/Sumitkumar193 "Sumitkumar193 (1 commits)")

### Embed Badge

![Health badge](/badges/desnake-web3signature/health.svg)

```
[![Health](https://phpackages.com/badges/desnake-web3signature/health.svg)](https://phpackages.com/packages/desnake-web3signature)
```

###  Alternatives

[producer/producer

Tools for releasing library packages; supports Git, Mercurial, Github, Gitlab, and Bitbucket.

10418.7k2](/packages/producer-producer)[fabianmichael/kirby-meta

Your all-in-one powerhouse for any SEO and metadata needs imaginable.

6910.7k1](/packages/fabianmichael-kirby-meta)[n98/headless-guillotine

Frontend routing whitelist configurations for headless setups.

2627.2k](/packages/n98-headless-guillotine)[silverstripe/multiuser-editing-alert

A module that indicates when people are editing the same page in the CMS

1530.7k1](/packages/silverstripe-multiuser-editing-alert)[evilfreelancer/openvpn-php

OpenVPN config generator writen on PHP

304.7k](/packages/evilfreelancer-openvpn-php)[lucapuddu/php-provably-fair

PhpProvablyFair is a library that generates and verifies provably fair games.

154.9k](/packages/lucapuddu-php-provably-fair)

PHPackages © 2026

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