ethereum-php-verify

Verify Ethereum signatures and SIWE messages in PHP.

Updated Jan 14, 2026
One-click install
npx skills add https://github.com/proofoftom/waap-drupal --skill ethereum-php-verify
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ethereum-php-verify
Source: https://github.com/proofoftom/waap-drupal/tree/main/.claude/skills/ethereum-php-verify
Command: npx skills add https://github.com/proofoftom/waap-drupal --skill ethereum-php-verify

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps PHP and Drupal projects verify Ethereum signatures, enabling Sign-In with Ethereum (SIWE) based authentication, address validation, and secure wallet verification.

Core Features & Use Cases

  • SIWE/EIP-4361 verification: Validate messages signed by Ethereum wallets.
  • EIP-191 (personal_sign) support: Handle standard Ethereum message signing workflows.
  • Address validation: Check EIP-55 checksum for Ethereum addresses.
  • Drupal/PHP integration: Add wallet authentication flows to existing PHP apps.

Quick Start

Install the required composer packages and run a sample script that verifies a signature against a known address to authenticate a user.

Frequently Asked Questions about ethereum-php-verify

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify Ethereum signatures in PHP for SIWE authentication?

Verify Ethereum signatures in PHP by validating EIP-4361 SIWE messages and EIP-191 personal_sign payloads to authenticate wallet users. This requires the kornrunner/keccak and simplito/elliptic-php composer packages to handle ECDSA recovery and address checksums.

Can I implement Sign-In with Ethereum wallet verification in Drupal?

Yes, you can implement Sign-In with Ethereum in Drupal by validating EIP-4361 SIWE messages and EIP-191 personal_sign signatures. This adds secure wallet authentication and address validation flows to existing PHP applications.

What PHP libraries are needed to validate EIP-191 personal_sign signatures?

Validating EIP-191 personal_sign signatures in PHP requires the kornrunner/keccak and simplito/elliptic-php composer packages. These libraries enable keccak hashing and elliptic curve ECDSA recovery ID normalization.

How does EIP-55 address checksum verification work for Ethereum addresses in PHP?

EIP-55 address checksum verification in PHP validates the mixed-case checksum of an Ethereum address. This ensures the address integrity during login, auditing, or onboarding workflows by confirming the recovered signature address matches the expected checksum format.

What is the best way to parse and validate EIP-4361 SIWE messages in a PHP application?

Parsing and validating EIP-4361 SIWE messages in PHP involves extracting message fields and verifying the wallet signature against a known address. This approach enables secure onboarding and auditing workflows without relying on external JavaScript verification.

Why do I need to normalize recovery IDs when verifying Ethereum ECDSA signatures in PHP?

Normalizing recovery IDs during Ethereum ECDSA signature verification in PHP ensures the correct public key is recovered from the signature. This normalization step is essential for accurate address derivation and successful EIP-191 or SIWE authentication.