New

Ecommerce Mobile App

React Native Expo app for Botble Ecommerce - 50+ screens, dark mode, RTL support

Web3 Signup or Sign in using Metamask, Trust wallet or over 300 Wallets supported

Web3 Signup or Sign in using Metamask, Trust wallet or over 300 Wallets supported

Plugin
Web3 wallet authentication for Botble CMS. Sign in or sign up using MetaMask, WalletConnect QR, Trust Wallet, Rainbow, Coinbase & 300+ wallets via EIP-6963 detection. No gas fees. Developed by Maryam International LLC.
$49.00 $99.00

Version

1.0.0

Botble Version

>= 7.3.0

License

MIT

Web3 Signup — Botble CMS Plugin

100% Free, gasless Web3 wallet authentication for Botble ecommerce.

Allow your customers to sign up and sign in using their crypto wallet — completely free for both the store admin and the customer. There are zero blockchain transactions, zero gas fees, and zero costs. Authentication is based on cryptographic signature verification only.

Developed by Maryam International LLCwww.codeupp.xyz

Admin Panel

User Login & Sign Up Using PC

Login Signup Using Mobile

Login Signup Using Mobile


Why Is This Free / Zero Cost?

This plugin does not interact with any blockchain or smart contract. It uses a standard called Sign-In with Ethereum (SIWE) where the user simply signs a message with their wallet to prove they own it. Signing a message is a local cryptographic operation — it never touches the blockchain, so:

  • No gas fees for the user
  • No transaction fees for the admin
  • No smart contract deployment needed
  • No crypto balance required — even an empty wallet works
  • WalletConnect Project ID is free to create (see setup below)

The only thing that happens is: the user proves they own a wallet address by signing a random message, and the server verifies that signature using math (elliptic curve cryptography). That's it.


How It Works (Technical Overview)

The Sign-In Flow

  1. Customer clicks "Connect Wallet" on the login or register page
  2. Their wallet extension opens (desktop) or a QR code modal appears (mobile)
  3. Customer connects their wallet — the server receives their public wallet address
  4. Server generates a unique nonce (one-time random string) and builds a human-readable message
  5. Customer signs the message in their wallet (this is free — no gas, no transaction, no cost)
  6. Server verifies the cryptographic signature using secp256k1 elliptic curve recovery
  7. If the signature is valid and the recovered address matches → customer is logged in or registered

No blockchain transaction is ever created. The signature is purely a mathematical proof of wallet ownership.

Standards Used

Standard What It Does
EIP-6963 Multi-wallet auto-detection. If a customer has multiple wallet extensions installed (MetaMask, Rainbow, Coinbase, Rabby, etc.), the plugin automatically detects and lists all of them. The customer can pick which wallet to use. This replaces the old window.ethereum injection method which only worked with one wallet at a time.
EIP-191 / personal_sign The message signing standard. The wallet prefixes the message with "\x19Ethereum Signed Message:\n" before signing, which prevents the signature from being used as a real blockchain transaction. This is a security feature built into all Ethereum wallets.
WalletConnect v2 An open protocol that connects mobile wallets to websites via QR code scanning or deep links. Supports 300+ wallets including Trust Wallet, Rainbow, MetaMask Mobile, Coinbase Wallet, imToken, Zerion, Argent, and more. Uses a relay server to bridge the connection — no blockchain involved.
secp256k1 The elliptic curve used by Ethereum for public/private key cryptography. The server uses this to mathematically recover the signer's address from the signature, without ever needing the private key.

Supported Wallets

Desktop (auto-detected via EIP-6963)

  • MetaMask
  • Rainbow
  • Coinbase Wallet
  • Brave Wallet
  • Rabby
  • Trust Wallet (browser extension)
  • Any wallet extension that supports the EIP-6963 standard

Mobile (via WalletConnect QR code)

  • Trust Wallet
  • Rainbow
  • MetaMask Mobile
  • Coinbase Wallet
  • imToken
  • Zerion
  • Argent
  • 300+ wallets via the WalletConnect protocol

Installation

  1. Copy the Web3Signup folder to platform/plugins/web3-signup/
  2. Activate the plugin in Admin > Plugins
  3. Run migrations: php artisan migrate
  4. Go to Admin > Settings > Others > Web3 Wallet Login
  5. Enable the plugin and enter your WalletConnect Project ID

Get a WalletConnect Project ID (Free — No Cost)

A WalletConnect Project ID is required for mobile wallet support (QR code scanning). It is completely free to create:

  1. Go to cloud.walletconnect.com
  2. Sign up for a free account (no credit card required)
  3. Click "Create a New Project"
  4. Enter your website name and URL
  5. Copy the Project ID from the project dashboard
  6. Paste it into the plugin settings in your Botble admin panel

WalletConnect's free tier is generous and more than sufficient for any ecommerce store. There is no usage limit for standard sign-in operations.


Admin Dashboard

The plugin adds a dedicated Web3 Signup section in the admin sidebar with:

Signups & Sign-ins Dashboard

  • Total Signups — number of customers who registered via wallet
  • Total Sign-ins — total wallet login events
  • Unique Wallets — number of distinct wallet addresses
  • Avg Sign-ins / User — average logins per wallet user

Signups Tab

Column Description
Wallet Address Full Ethereum address
Name Customer display name
Email Real email if updated, or "wallet-only" if still using placeholder
Signup Date When the customer first registered
Status Account status (Activated / Deactivated)

Sign-ins Tab

Column Description
Wallet Address Ethereum address used to sign in
Name Customer name
Email Real email or "wallet-only"
Wallet Used Which wallet app was used (MetaMask, Trust Wallet, etc.)
IP Address Login IP
Login Date When the sign-in occurred

Settings

Setting Description
Enable Web3 Wallet Login Show/hide the wallet login buttons on login & register pages
WalletConnect Project ID Your free WalletConnect Cloud project ID for mobile wallet support

Customer Dashboard Features

When a customer signs up via wallet:

  • Sidebar shows their truncated wallet address (e.g., 0xf590...3a20) — not the full address
  • Account Settings shows:
    • Full Name — editable (changing the name does not affect wallet sign-in)
    • Email — editable, initially empty with placeholder "Enter your email address". Customer can add a real email at any time
    • Wallet Address — read-only field showing the full wallet address
    • Phone — editable
  • Become Vendor — wallet users can become vendors from the dashboard by providing their details and adding a real email address

Email Behavior

  • On signup, a placeholder email ([email protected]) is stored internally
  • The Email field in Account Settings appears empty and editable so the customer can add their real email
  • Once a real email is added, it replaces the placeholder and is shown in the admin panel
  • The Wallet Address field always shows the full wallet address separately (read-only)

Vendor Compatibility

  • Wallet signup/signin is for customers only — if the "I am a vendor" checkbox is selected on the register page, the wallet buttons are blocked with a message: "Vendors cannot use wallet login. Please register or sign in using your email address."
  • Becoming a vendor after wallet signup is supported — a customer who signed up via wallet can later click "Become Vendor" in their dashboard, add their real email, and complete the vendor registration normally
  • Works with the Botble Marketplace plugin

Database Changes

The plugin adds columns to the ec_customers table:

Column Type Description
eth_address VARCHAR(42) Ethereum wallet address (unique, indexed)
web3_nonce VARCHAR(64) One-time nonce for signature verification (cleared after use)
web3_signed_up_at TIMESTAMP When the customer first signed up via wallet

The plugin also creates a web3_login_logs table to track every sign-in event (wallet address, wallet name, IP, timestamp).

All database changes are automatically removed if the plugin is uninstalled.


Theme Compatibility

The plugin automatically injects the wallet login buttons on all login and register pages via the BASE_FILTER_AFTER_LOGIN_OR_REGISTER_FORM hook. Works with:

  • Shofy theme
  • Martfury theme
  • Any Botble theme that uses the standard ecommerce login/register forms

No theme file modifications are needed.


Security

  • Gasless — no blockchain transactions, no smart contracts, no gas fees
  • Nonce rotation — each nonce is single-use and cleared immediately after verification
  • Dual nonce storage — nonces stored in both server session (primary) and database (fallback) for reliability
  • Replay protection — used nonces cannot be reused; nonce is nullified after successful sign-in
  • No private keys — the server never sees, stores, or handles any private keys
  • Vendor protection — vendors are blocked from using wallet login (both frontend and backend checks)
  • Pure PHP verification — signature verification uses native PHP GMP extension for secp256k1 elliptic curve math (no external packages or API calls)
  • EIP-191 prefix — wallet signatures include the Ethereum signed message prefix, preventing any possibility of the signature being used as a real transaction

Requirements

  • PHP 8.1+ with GMP extension enabled
  • Botble CMS 7.3+
  • Botble Ecommerce plugin
  • (Optional) Botble Marketplace plugin — for vendor compatibility features

Contact

Maryam International LLC

❤️

Support the Author

If you find this product helpful, consider supporting the developer.

Bank Information

Bank Name- Wio Bank  IBAN: AE040860000009582249758 ACCOUNT NUMBER: 9582249758 ACCOUNT NAME: MARYAM INTERNATIONAL LLC, Country United Arab Emirates

Scan QR Code

Bank Name- Wio Bank  IBAN: AE040860000009582249758 ACCOUNT NUMBER: 9582249758 ACCOUNT NAME: MARYAM INTERNATIONAL LLC, Country United Arab Emirates

Leave a comment

Your email address will not be published. Required fields are marked *

Kindly log in to share your feedback on this plugin.