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 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 uselabel="My label"
attribute to set your own label text.nolabel
Andnolabel="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 thedisplayfiat="1"
attribute to display the calculated fiat balance too.updatetimeout
Limit balance update rate withupdatetimeout="60"
for once per minute update.paper
Add rounded materials styled paer list under the balance control, likepaper="1"
.
Token attributes:
tokendecimals
Usetokendecimals = "2"
attribute to configure the desired digits after the decimal separator count.tokendecimalchar
Usetokendecimalchar=","
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
Usetokenaddress="0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a"
attribute to display balance of a specific ERC20 token.tokensymbol
The etherscan API sometimes doesn’t return the token symbol. Usetokensymbol="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. Usetokenname="Test Token"
as a workaround in this case, or to give more descriptive/informal token name for your customers.tokenwooproduct
Usetokenwooproduct="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
Usetokeniconpath="https://example.com/icons/BTC.png"
attribute to set the token icon shown.tokeniconheight
Usetokeniconheight="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
Usetokenslist="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 special0x0000000000000000000000000000000000000001
address to represent the basic blockchain coin like ETH/BNB/POL 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/POL.tokendecimals
Usetokendecimals = "2"
attribute to configure the desired digits after the decimal separator count.tokendecimalchar
Usetokendecimalchar=","
attribute to configure the desired decimal separator character.tokeniconheight
Usetokeniconheight="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/POL 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/POL 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 thedirection="in"
attribute to display recieve, ordirection="out"
for send events only. All events are shown if nodirection
attribute is specified, or a specialinout
value is set.rows
Add therows="10"
attribute to display 10 events on a pageiconheight
Useiconheight="54px"
attribute to manually set the shown token icon height. Useful for design fine tune.updatetimeout
Limit events update rate withupdatetimeout="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/POL 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 thetokenaddress="0x6975be450864c02b4613023c2152ee0743572325"
attribute to display token balances instead of the basic blockchain coin like ETH/BNB/POL balance.mintokenamount
Add themintokenamount="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, video, audio and PDF 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 theaccount="0x6975be450864c02b4613023c2152ee0743572325"
attribute to display NFT tokens for the address specified instead of the current user account address.metaaccount
Add themetaaccount="ethpress"
attribute to display NFT tokens for the address connected with the EthPress plugin instead of the current user account address. Anyuser_meta
key can be used here.tokens
Add thetokens="0x1E75E322542b508427A3CFc1CEE81241e97D3B35,0x2Dd977fCAFb69A82C15D85D31D81e239A05e7af2"
attribute to display NFT tokens for specified contract addresses only.columns
Add thecolumns="3"
attribute to display three NFT tokens in a rowrows
Add therows="2"
attribute to display two NFT tokens in a columnupdatetimeout
Limit events update rate withupdatetimeout="60"
for once per minute update.usedefaultexternalurl
Add theusedefaultexternalurl="1"
to display the default blockchain external URL likeopensea.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 therows="10"
attribute to display 10 events on a pageiconheight
Useiconheight="54px"
attribute to manually set the shown token icon height. Useful for design fine tune.updatetimeout
Limit events update rate withupdatetimeout="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 theEthereum 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 theUsers
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 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):
- Educate yourself about cold and hot cryptocurrency storage
- Obtain hardware wallet to store your coins
- Educate yourself about hardening WordPress security
- Install a security plugin such as Jetpack or any other security plugin
- Enable SSL on your site if you have not already done so.
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
andsepolia
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
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 thePermalink 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 Mainnet?
-
Follow this video guide please:
See details on the Polygon Wallet WordPress Plugin Configuration page please.
-
How to configure plugin for the Polygon Mumbai Testnet?
-
Follow this video guide please:
See details on the Polygon 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 toEthereum 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
- Set the
-
How to test this plugin on a Sepolia testnet?
-
- Set the
Blockchain
setting toEthereum 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
- Set the
Reviews
Contributors & Developers
“Ethereum Wallet” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “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.12.3
- fix issues when exchange rate is N/A. When WooCommerce is not installed or currency exchage API Key not provided
4.12.2
- freemius library version update
4.12.1
- MATIC to POL migration
- freemius library version update
4.12.0
- Audio and PDF support for NFT tokens
4.11.0
- WooCommerce HPOS compatibility implemented
- freemius library version update
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 to1
, the default blockchain external URL likeopensea.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
- The EthPress NFT Access Add-On support is added.
4.6.1
- Fix for the
tokens
attribute of theethereum-wallet-nft
shortcode.
4.6.0
- The
metaaccount
attribute added to theethereum-wallet-nft
shortcode. Add themetaaccount="ethpress"
attribute to display NFT tokens for the address connected with the EthPress plugin instead of the current user account address. Anyuser_meta
key can be used here. - The
tokens
attribute added to theethereum-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 withtokendecimals
,tokendecimalchar
andtokeniconheight
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.