Ethereum Wallet

Description

The WordPress Ethereum Metamask Wallet Connect plugin auto-creates a user wallet upon registration and allows user to send Ether or ERC20/NFT tokens from it.

Binance Smart Chain (BSC), Polygon (MATIC) and any other EVM-compatible blockchain is supported in the PRO version!

It is a valuable addition for the Cryptocurrency Product for WooCommerce plugin.

Using these two plugins your non-techie customers can register to obtain an Ethereum account address and then buy your NFT or ERC20 tokens to be sent to this new address.

The supported EthPress NFT Access Add-On can be used to control access for WooCommerce products, simple pages and posts.

Live Demo

The live demo wallet can be tested here: Ethereum Wallet Demo.

Shortcodes

Account

To show user’s Ethereum account address insert the [ethereum-wallet-account] shortcode wherever you like.

Attributes:

  • label You can use label="My label" attribute to set your own label text.
  • nolabel And nolabel="yes" attribute to display no label at all.

Custom Account label display example:

[ethereum-wallet-account label="My label"]

Account display without label example:

[ethereum-wallet-account nolabel="yes"]

Balance

To show user’s Ethereum account address’s Ether balance insert the [ethereum-wallet-balance] shortcode wherever you like.

Balance is auto-refreshed by listening to the blockchain

General attributes:

  • displayfiat Add the displayfiat="1" attribute to display the calculated fiat balance too.
  • updatetimeout Limit balance update rate with updatetimeout="60" for once per minute update.
  • paper Add rounded materials styled paer list under the balance control, like paper="1".

Token attributes:

  • tokendecimals Use tokendecimals = "2" attribute to configure the desired digits after the decimal separator count.
  • tokendecimalchar Use tokendecimalchar="," attribute to configure the desired decimal separator character.

Token attributes PRO:

These attributes require the PRO version to be activated. Free 7 days Trial is available!

  • tokenaddress Use tokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a" attribute to display balance of a specific ERC20 token.
  • tokensymbol The etherscan API sometimes doesn’t return the token symbol. Use tokensymbol="TSX" as a workaround in this case, or to give more descriptive/informal token symbol for your customers.
  • tokenname The etherscan API sometimes doesn’t return the token name. Use tokenname="Test Token" as a workaround in this case, or to give more descriptive/informal token name for your customers.
  • tokenwooproduct Use tokenwooproduct="123" attribute to show balance and a fiat balance for a token configured as a WooCommerce product with the Cryptocurrency Product for WooCommerce plugin. The token to fiat currency rate would be calculated from the WooCommerce product price. Dynamic ETH token price feature of the Cryptocurrency Product for WooCommerce plugin is supported.
  • tokeniconpath Use tokeniconpath="https://example.com/icons/BTC.png" attribute to set the token icon shown.
  • tokeniconheight Use tokeniconheight="54px" attribute to manually set the shown icon height. Useful for design fine tune.

Ether balance with fiat example:

[ethereum-wallet-balance displayfiat="1" updatetimeout="60" tokendecimals = "2" tokendecimalchar=","]

Ether balance with fiat and icon example:

[ethereum-wallet-balance displayfiat="1" tokeniconpath="https://example.com/icons/ETH.png"]

Simple token balance example:

[ethereum-wallet-balance tokenname="TSX" tokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a"]

The token balance with fiat example:

[ethereum-wallet-balance tokenname="TSX" tokenname="Test Coin" tokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a" tokenwooproduct="123"]

The token balance with fiat and icon example:

[ethereum-wallet-balance tokensymbol="TSX" tokenname="Test Coin" tokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a" tokenwooproduct="123" tokeniconpath="https://example.com/icons/BTC.png"]

Send Form

To show a Send Form control insert the [ethereum-wallet-sendform] shortcode wherever you like.

In the Free version, this control allows to send ETH from your account.

ERC20 tokens sending is supported in the PRO version.

Features:

  • Tokens list is auto populated based on tokens balances.
  • QR Scanner is provided for the reciever address.
  • The Ethereum Gas price is auto adjusted according to the EIP1559 or form the blockchain if the EIP1559 is not supported by the blockchain configured.

Attributes PRO:

These attributes require the PRO version to be activated. Free 7 days Trial is available!

  • tokenslist Use tokenslist="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a,0x0000000000000000000000000000000000000001" attribute to specify only certain tokens you want to support. It can contain a single allowed token address or a comma separated list of allowed token addresses. Use a special 0x0000000000000000000000000000000000000001 address to represent the basic blockchain coin like ETH/BNB/MATIC to allow simultaneous tokens and basic coin display with ordering, to make your token displayed first for example.
  • onlytokens attribute can can be used to exclude the basic blockchain coin like ETH/BNB/MATIC.
  • tokendecimals Use tokendecimals = "2" attribute to configure the desired digits after the decimal separator count.
  • tokendecimalchar Use tokendecimalchar="," attribute to configure the desired decimal separator character.
  • tokeniconheight Use tokeniconheight="54px" attribute to manually set the shown token icon height. Useful for design fine tune.

The send form with decimals, decimal character and icon height example:

[ethereum-wallet-sendform tokendecimals="4", tokendecimalchar="," tokeniconheight="54px"]

The send form with your token displayed first in a dropdown example:

[ethereum-wallet-sendform tokenslist="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a,0x0000000000000000000000000000000000000001"]

The send form without the basic blockchain coin like ETH/BNB/MATIC displayed example:

[ethereum-wallet-sendform onlytokens="1"]

Events History

To show an account’s transactions events history insert the [ethereum-wallet-history direction="in"] shortcode wherever you like.

In the Free version, this control shows the basic blockchain coin like ETH/BNB/MATIC transactions only.

Features:

  • NFT and ERC20 tokens events are supported in the PRO version. Free 7 days Trial is available!
  • NFT token events display and NFT tokens sending support
  • Pagination and filtering is available for the transaction events history table
  • Transaction events are auto-refreshed by listening to the blockchain

Attributes:

  • direction Add the direction="in" attribute to display recieve, or direction="out" for send events only. All events are shown if no direction attribute is specified, or a special inout value is set.
  • rows Add the rows="10" attribute to display 10 events on a page
  • iconheight Use iconheight="54px" attribute to manually set the shown token icon height. Useful for design fine tune.
  • updatetimeout Limit events update rate with updatetimeout="60" for once per minute update.

The full send and recieve events history example:

[ethereum-wallet-history direction="in" rows="50" iconheight="54px" updatetimeout="120"]

The recieve events history example:

[ethereum-wallet-history direction="in"]

The send events history example:

[ethereum-wallet-history direction="in"]

Account Create

Use the [ethereum-wallet-account-management-create] shortcode to provide your customer account create widget wherever you like

Account Selection

Use the [ethereum-wallet-account-management-select] shortcode to provide your customer account selection widget wherever you like

Account Import

Use the [ethereum-wallet-account-management-import] shortcode to provide your customer account import widget wherever you like

Account Export

Use the [ethereum-wallet-account-management-export] shortcode to provide your customer account export widget wherever you like

QR-code is displayed for account and private key export shortcodes

Leaderboard

To display a table of all accounts with the basic blockchain coin like ETH/BNB/MATIC or ERC20 token balances insert the [ethereum-wallet-history direction="in"] shortcode wherever you like.

PRO version only. Free 7 days Trial is available!

Features:

  • Fiat balances also shown.
  • Avatars and logins are shown for the admin user.
  • Integration with BuddyPress is provided for avatars display.

Attributes:

  • tokenaddress Add the tokenaddress="0x6975be450864c02b4613023c2152ee0743572325" attribute to display token balances instead of the basic blockchain coin like ETH/BNB/MATIC balance.
  • mintokenamount Add the mintokenamount="0.001" attribute to display users with token balances greater or equal to the value set only.

Specified token balance display example:

[ethereum-wallet-accounts-table tokenaddress="0x6975be450864c02b4613023c2152ee0743572325"]

Specified minimum token balance display example:

[ethereum-wallet-accounts-table mintokenamount="0.001"]

NFT Tokens List

To display a list of all account’s NFT tokens insert the [ethereum-wallet-nft] shortcode wherever you like.

PRO version only. Free 7 days Trial is available!

Features:

  • Pagination
  • The NFT image display
  • The NFT Send button
  • The NFT Resell button. The WCFM Marketplace Cryptocurrency Plugin is required.
  • The NFT external URL link button
  • The NFT contract address
  • The NFT token ID
  • The NFT description
  • Buttons to copy the NFT contract address and token ID or show them as a QR code
  • Button to open the NFT contract address in a blockchain explorer like etherscan.io

Attributes:

  • account Add the account="0x6975be450864c02b4613023c2152ee0743572325" attribute to display NFT tokens for the address specified instead of the current user account address.
  • metaaccount Add the metaaccount="ethpress" attribute to display NFT tokens for the address connected with the EthPress plugin instead of the current user account address. Any user_meta key can be used here.
  • tokens Add the tokens="0x1E75E322542b508427A3CFc1CEE81241e97D3B35,0x2Dd977fCAFb69A82C15D85D31D81e239A05e7af2" attribute to display NFT tokens for specified contract addresses only.
  • columns Add the columns="3" attribute to display three NFT tokens in a row
  • rows Add the rows="2" attribute to display two NFT tokens in a column
  • updatetimeout Limit events update rate with updatetimeout="60" for once per minute update.
  • usedefaultexternalurl Add the usedefaultexternalurl="1" to display the default blockchain external URL like opensea.io instead of the one for the JSON metadata.

Specified account example:

[ethereum-wallet-nft account="0x6975be450864c02b4613023c2152ee0743572325"]

Specified metaaccount example:

[ethereum-wallet-nft metaaccount="ethpress"]

Specified columns and rows example:

[ethereum-wallet-nft columns="3" rows="2"]

Dividends

To display dividends payment history insert the [ethereum-wallet-dividends] shortcode wherever you like.

PRO version only. Free 7 days Trial is available!

Features:

  • Pagination and filtering is available for the transaction events history table
  • Transaction events are auto-refreshed by listening to the blockchain

Attributes:

  • rows Add the rows="10" attribute to display 10 events on a page
  • iconheight Use iconheight="54px" attribute to manually set the shown token icon height. Useful for design fine tune.
  • updatetimeout Limit events update rate with updatetimeout="60" for once per minute update.

Dividends table example:

[ethereum-wallet-dividends rows="50" iconheight="54px" updatetimeout="120"]

To use the ERC20 Dividend Payments Add-On install the Cryptocurrency Product for WooCommerce and then go to Settings > Cryptocurrency Product > Add-Ons > Dividends.

Features

  • Use the user_ethereum_wallet_address user_meta key to display the user’s account address, or for the Ethereum Wallet meta key setting of the Cryptocurrency Product for WooCommerce plugin
  • The user_ethereum_wallet_last_tx_hash user meta key can be used to access the user’s most recent transaction
  • Integration with the Ether and ERC20 tokens WooCommerce Payment Gateway plugin is provided
  • Ethereum wallet column with linked user’s account addresses is displayed on the Users WordPress admin page (/wp-admin/users.php)

PRO Features:

Full ERC20 and NFT tokens support in the PRO version! Free 7 days Trial is available!

  • ERC1155 NFT token standard support
  • Admin markup feature to earn Ether fee from your site’s Ethereum Wallet users
  • Custom/private blockchain feature: Ethereum Node JSON-RPC Endpoint and other related settings to use Binance Smart Chain (BSC) Config, Polygon (MATIC) and any other EVM compatible blockchain
  • Multi-vendor support for the Cryptocurrency Product for WooCommerce plugin
  • Tools / Ethereum Wallet submenu can be used to manually recalculate user account balances
  • User account addresses initialization on the Tools / Ethereum Wallet page. Useful if plugin is installed on the already established site with many users registered.
  • ERC1404 Simple Restricted Security Token Standard support. If transfer is not allowed, corresponding error message would be displayed.
  • The EthPress NFT Access Add-On support. The account generated is tested for NFTs configured ownership.

Disclaimer

By using this plugin you accept all responsibility for handling the account balances for all your users.

Under no circumstances is ethereumico.io or any of its affiliates responsible for any damages incurred by the use of this plugin.

Every effort has been made to harden the security of this plugin, but its safe operation depends on your site being secure overall. You, the site administrator, must take all necessary precautions to secure your WordPress installation before you connect it to any live wallets.

You are strongly advised to take the following actions (at a minimum):

By continuing to use the Ethereum Wallet WordPress plugin, you indicate that you have understood and agreed to this disclaimer.

Testing

You can test this plugin in some test network for free.

The goerli and sepolia testnets are supported.

See the FAQ section for more details.

l10n

This plugin is localization ready.

Languages this plugin is available now:

  • English
  • Russian(Русский)
  • German(Deutsche) by Johannes from decentris dot com

Feel free to translate this plugin to your language.

Screenshots

  • The [ethereum-wallet-account] display
  • The [ethereum-wallet-sendform] display
  • The [ethereum-wallet-history] display
  • The Blockchain settings
  • The [ethereum-wallet-account-management-create] display
  • The [ethereum-wallet-account-management-import] display
  • The [ethereum-wallet-account-management-select] display
  • The [ethereum-wallet-account-management-export] display
  • The [ethereum-wallet-nft columns="3" rows="2"] display
  • The [ethereum-wallet-balance] display with different settings
  • The [ethereum-wallet-nft columns="3" rows="2"] token info display
  • The API Keys settings
  • The Admin Fee settings
  • The Advanced Blockchain settings part 1
  • The Advanced Blockchain settings part 2
  • The IPFS settings
  • The [ethereum-wallet-accounts-table] accounts with fiat balances display

Installation

Make sure that System Requirements are met on your hosting provider. This provider is tested for compliance: Cloudways

  • Enter your settings in admin pages and place the [ethereum-wallet-sendform], [ethereum-wallet-balance] and other shortcodes wherever you need it.
  • For the proper use of the [ethereum-wallet-accounts-table] shortcode, change the Permalink Settings to anything other than the default value.

Use this guide to install and configure the WordPress Ethereum WalletConnect plugin: Install and Configure.

FAQ

How to install the Ethereum Wallet plugin?

Follow this video guide please:

How to put shortcodes on a page?

Follow this video guide please:

How to setup the admin comission fee settings?

Follow this video guide please:

How to configure plugin for the Ethereum Mainnet?

Follow this video guide please:

How to configure plugin for the Binance Smart Chain (BSC) Mainnet?

Follow this video guide please:

See details on the Binance Smart Chain (BSC) Config page please.

How to configure plugin for the Binance Smart Chain (BSC) Testnet?

Follow this video guide please:

See details on the Binance Smart Chain (BSC) Config page please.

How to configure plugin for the Polygon (MATIC) Mainnet?

Follow this video guide please:

See details on the Polygon (MATIC) Wallet WordPress Plugin Configuration page please.

How to configure plugin for the Polygon (MATIC) Mumbai Testnet?

Follow this video guide please:

See details on the Polygon (MATIC) Wallet WordPress Plugin Configuration page please.

How to enable bcmath, gmp and mbstring PHP modules?

Got a message “WordPress Ethereum Wallet requires GMP module to be installed.”?

Contact your hosting provider support. This provider is tested for compliance: Cloudways

On a *nix dedicated server use command similar to this one:

sudo apt-get install php-bcmath php-gmp php-mbstring
service apache2 restart

For AWS bitnami AMI restart apache2 with this command:

sudo /opt/bitnami/ctlscript.sh restart apache

What a typical shortcodes configuration I can use?

Possible shortcodes configuration:

[ethereum-wallet-nft columns="3" rows="2"]

[ethereum-wallet-account]

[ethereum-wallet-balance displayfiat="1" tokeniconpath="https://example.com/icons/ETH.png"]

[ethereum-wallet-balance tokensymbol="TSX" tokenname="Test Coin" tokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a" tokenwooproduct="123" tokeniconpath="https://example.com/icons/BTC.png"]

[ethereum-wallet-sendform]

[ethereum-wallet-history]

[ethereum-wallet-account-management-select]

[ethereum-wallet-account-management-create]

[ethereum-wallet-account-management-import]

[ethereum-wallet-account-management-export]

Why the Infura.io Api Key is required?

The Infura.io Api Key is required to interact with Ethereum blockchain.

Where the Infura.io Api Key can be obtained?

Register for an infura.io API key and put it in admin settings. Use this Get infura API Key Guide if unsure.

How to test this plugin on a Görli testnet?

  • Set the Blockchain setting to Ethereum Görli Testnet
  • Request some Görli Ether from some faucet
  • Buy some 0xb4354f51b51ab69d7415d54108dd2f68223c3239 TSX token by sending some Görli Ether amount to it’s Crowdsale contract: 0x448276ac3c99620f02cc2ac60964aca44b20929a
  • Send some Görli Ether to the account this plugin generated for you. Use [ethereum-wallet-account] shortcode to display it
  • Now test the plugin by sending some Görli Ether from the generated account address to your other address. Use the [ethereum-wallet-sendform] shortcode to render the send form on a page.
  • Check that proper amount of Görli Ether has been sent to your payment address
  • You can use any ERC20 token to test the same

How to test this plugin on a Sepolia testnet?

  • Set the Blockchain setting to Ethereum Sepolia Testnet
  • Request some Sepolia Ether from some faucet
  • Send some Sepolia Ether to the account this plugin generated for you. Use [ethereum-wallet-account] shortcode to display it
  • Now test the plugin by sending some Sepolia Ether from the generated account address to your other address. Use the [ethereum-wallet-sendform] shortcode to render the send form on a page.
  • Check that proper amount of Sepolia Ether has been sent to your payment address
  • You can use any ERC20 token to test the same

Reviews

February 25, 2023
Easy to use and the customer service is very efficient.
January 12, 2021 1 reply
Hi, it is possible to know the keywords of the seed?
November 13, 2019
Author really cares, every bug reported is being fixed almost the next day. Works great!
Read all 7 reviews

Contributors & Developers

“Ethereum Wallet” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Ethereum Wallet” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

4.10.8

  • Fix balance display for tokeniconpath attribute
  • freemius library version update

4.10.7

  • Fix admin tools issue with very old plugin instalations
  • Confirm message before account deletion or selection
  • freemius library version update

4.10.6

  • freemius library version update

4.10.5

  • Blockchain explorer API Key settings fix

4.10.4

  • ethprice_api_url setting fix

4.10.3

  • web3.js version updated

4.10.2

  • Better Freemius.com licensing support
  • Wrong gas calculation issue for EIP1559 fix

4.10.1

  • Wrong gas calculation issue is fixed. For more info see here.

4.10.0

  • The usedefaultexternalurl attribute is added to the [ethereum-wallet-nft] shortcode. If set to 1, the default blockchain external URL like opensea.io will be used instead of the one for the JSON metadata.

4.9.0

  • ERC1155 NFT token support

4.8.4

  • Refactor supported blockchains info

4.8.3

  • Remove unsupported test networks
  • Check if infura API key plan supports the network selected

4.8.2

  • Undefined array key “tokenlist” warning fix

4.8.1

  • Blockchain settings configuration is simplified for both, infura.io supported and custom networks

4.7.5

  • Blockchain explorer paths fixes

4.7.4

  • sepolia testnet support is added

4.7.3

  • woocommerce/action-scheduler update to the 3.5.1

4.7.2

  • woocommerce/action-scheduler update to the 3.4.2 version as used in the WC 6.9.1 version

4.7.1

  • The NFT re-sell button is shown only if user is a vendor

4.7.0

4.6.1

  • Fix for the tokens attribute of the ethereum-wallet-nft shortcode.

4.6.0

  • The metaaccount attribute added to the ethereum-wallet-nft shortcode. Add the metaaccount="ethpress" attribute to display NFT tokens for the address connected with the EthPress plugin instead of the current user account address. Any user_meta key can be used here.
  • The tokens attribute added to the ethereum-wallet-nft shortcode. Only tokens specified here will be shown.

4.5.4

  • NFT display error for NFTs with no image is fixed

4.5.3

  • Docs improved
  • Unnecessary freemius sections removed

4.5.2

  • Better NFT support if external_url is not set

4.5.1

  • People often skip the ‘s’ letter. This fix is to workaround such mistakes.
  • Fix fatal error if network is configured incorrectly and WooCommerce is not installed.

4.5.0

  • ethereum-wallet-sendform shortcode can be configured with tokendecimals, tokendecimalchar and tokeniconheight attributes, like [ethereum-wallet-sendform tokendecimals="4", tokendecimalchar="," tokeniconheight="54px"]
  • Success notification after tx is sent from send form, activity or NFT tokens list.
  • QR code scan fix.