Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Bitcoin and Altcoin Wallets

Turn your blog into a bank: Let your users deposit, withdraw, and transfer bitcoins and altcoins on your site.

At a glance

Bitcoin and Altcoin Wallets is a FREE WordPress plugin by dashed-slug.

It enables financial transactions on your site via Bitcoins and other cryptocurrencies.

What is available today

  1. A fully functional cryptocurrencies API stack, that enables communication to wallets via:
    1. PHP calls from your themes and plugins,
    2. a JSON API, accessible to logged in users,
    3. the frontend UI, available via a simple set of shortcodes.
  2. A built-in Bitcoin adapter that redirects requests to a bitcoin daemon.
  3. Transaction and accounting data is held on special tables in your MySQL database. The Bitcoin core accounting API is not used since it is being deprecated.
  4. An import/export functionality to backup transactions to and from CSV files.

What is on the roadmap

This plugin is already useful today, but will be extended over the coming months:

  • short-term, immediate goal:

    • To enable you, the site's administrator to achieve CCSS compliance. CCSS is a security standard that you should aspire to if you're storing other people's cryptocurrencies, whether you choose to be audited and certified or not.
    • More coin adapters for integrating various cryptocurrencies. Currently there is a Litecoin adapter that you can install separately.
  • long-term goals:

If you are a developer you may decide to contribute towards this effort by building one or more of these components yourself. Ultimately the Wallets cryptocurrency stack should be a community effort.

Wallets plugin overview

This is the core plugin that takes care of basic accounting functionality:

  • A financial PHP API: Calls that let the logged in user handle their cryptocurrencies.
  • A JSON API: JSON requests of the above.
  • Simple shortcodes: These let you display frontend forms for common tasks.
    • deposit,
    • withdraw,
    • transfer funds,
    • view past transactions
  • Accounting for your users. Data is held in a table in your MySQL database.
  • Backup and restore transactions: A robust mechanism to backup transactions to external .csv files.
  • Extensible architecture
    • Easily install coin adapter plugins to use other cryprocurrencies besides Bitcoin.
    • Easily install extension plugins that talk to an accounting API to provide additional functionality.

follow the slime

The dashed-slug is a social slug:

Author Dashed-Slug
Profile
Contributors dashedslug
Tags account, altcoin, api, bitcoin, coin, cryptocurrency, deposit, e-cash, e-money, money, wallet, withdraw
  1. wallets screenshot 1

    Adapters list - Go to the Wallets menu to see a list of installed coins and some stats about them.

  2. wallets screenshot 2

    Bitcoin Adapter settings - The settings for talking to your bitcoin daemon. If you install other adapters, there will be similar screens to talk to the respective daemons.

  3. wallets screenshot 3

    Frontend - deposit - The [wallets_deposit] shortcode displays a UI element that lets your users know which address they can send coins to if they wish to deposit to their account.

  4. wallets screenshot 4

    Frontend - move - The [wallets_move] shortcode displays a UI element that lets your users transfer coins to other users on the site.

  5. wallets screenshot 5

    Frontend - withdraw - The [wallets_withdraw] shortcode displays a UI element that lets your users withdraw coins from their account to an external address.

  6. wallets screenshot 6

    Frontend - balance - The [wallets_balance] shortcode displays your users' account balances.

  7. wallets screenshot 7

    Frontend - transactions - The [wallets_transactions] shortcode displays an AJAX-powered table of past transactions affecting the accounts of your users.

Overview

The installation for the plugin itself is the same as for any WordPress plugin. Additionally, you will have to install and maintain a Bitcoin daemon on your server. This will typically require SSH access and some basic knowledge of UNIX/Linux.

Instructions

What follows is step-by-step instructions:

  1. Make sure that you have the latest WordPress version installed, and that you are running on at least PHP 5.6. Even though the plugin has been tested on WordPress 3.8 and PHP 5.3, for security reasons you are strongly recommended to use the latest version of WordPress and a supported version of PHP. Check to see here if your PHP version is currently supported for security issues. As of 2017, anything below 5.6 has reached its end-of-life and is no longer supported.

  2. Install and activate the Wallets plugin. For general information on installing WordPress plugins, you can consult the relevant WordPress documentation.

  3. Install a Bitcoin full node on your server. Detailed instructions are available here. Read and follow the instructions carefully.

    Take note of the memory, disk, and bandwidth requirements and check against the resources available on your server.

  4. Configure the bitcoin adapter on your WordPress installation. Navigate to WalletsBitcoin (BTC) in your WordPress admin area.

    At a minimum you need to enter the location and credentials to your Bitcoin daemon RPC API.

    You will need to set the following: IP, Port, User, Password, Path.

  5. Configure the bitcoin daemon on your server. You will need to edit your ~/.bitcoin/bitcoin.conf file and make the configuration match what you entered above. The plugin will give you the exact configuration arguments that you need to start the daemon with.

    For more information on the bitcoin daemon configuration, consult the relevant wiki page.

  6. Check that the adapter works. Navigate to the Wallets menu in the admin area. If the Bitcoin Adapter Status reads Responding, then you're good to go.

    Note that for a new bitcoind installation, you might have to wait until the entire blockchain downloads first. This can take a few hours.

Disclaimer

By using this free plugin you assume all responsibility for handling the account balances for all your users. Under no circumstances is dashed-slug.net 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 recommended to take the following actions (at a minimum):

By continuing to use the Bitcoin and Altcoin Wallets plugin, you agree that you have read and understood this disclaimer.

Further reading

1.0.6

  • Made compatible with PHP versions earlier than 5.5
  • Added warning in readme about running on PHP versions that have reached end-of-life

1.0.5

  • Deactivate button not shown for built in Bitcoin adapter
  • Added video tutorial to readme

1.0.4

  • Recommends the configurations needed in your bitcoin.conf
  • Does not recommend command line arguments to bitcoind any more
  • Updated install instructions in readme.txt

1.0.3

  • Fixed issue where deactivating any plugin would fail due to nonce error

1.0.2

  • Clearer disclaimer
  • Fixed a broken link

1.0.1

  • Fixed some string escaping issues

1.0.0

  • Accounting
  • bitcoind connectivity
  • PHP API
  • JSON API
  • Front-end shortcodes
  • CSV Import/Export

Is it secure?

The Bitcoin and Altcoin Wallets plugin is only as secure as your WordPress installation. Regardless of whether you choose to install this plugin, you should have already taken steps to secure your WordPress installation. At a minimum you should do the following:

  1. Install a security plugin such as Wordfence.
  2. Read the Codex resources on Hardening WordPress.

How can I integrate it with my site?

Just insert the shortcodes anywhere to create forms to let a logged in user:

  • deposit funds: wallets_deposit,
  • withdraw funds: wallets_withdraw,
  • transfer funds to other users: wallets_move,
  • view their balance: wallets_balance,
  • view past transactions: wallets_transactions.

These shortcodes render knockout.js-enabled forms.

I don't like the built-in forms. Can I provide my own?

First of all, the forms can be styled with CSS. They have convenient HTML classes that you can use.

If you wish to create forms with completely different markup, you can provide your own views for these shortcodes. Use the wallets_views_dir filter to override the directory where the views are stored (the default is wallets/includes/views). Most people will not need to do this.

I want to do transactions from JavaScript. I don't want to use the provided shortcodes and their associated forms.

The provided built-in forms talk to a JSON API that is available to logged in users. If you choose to build your own front-end UI, you can do your AJAX calls directly to the JSON API.

Refer to the documentation for details.

I want to do transactions from the PHP code of my theme or plugin.

You can use the PHP API directly.

get_balance(string  $symbol, integer  $minconf = null) : float
get_transactions(string  $symbol, integer  $count = 10, integer  $from, integer  $minconf = null) : array
do_withdraw(string  $symbol, string  $address, float  $amount, string  $comment = '', string  $comment_to = '')
do_move(string  $symbol, integer  $toaccount, float  $amount, string  $comment)

Refer to the documentation for details.

How can I get support or submit feedback?

Please use the support forum on WordPress.org for all issues and inquiries regarding the plugin.

For all other communication, please contact info@dashed-slug.net.

Donating

This is a free plugin.

If you wish, you may show your support by donating.

Donating helps the dashed-slug to design, develop, test, release and support more quality WordPress plugins.

via flattr

flattr the dashed-slug

via bitcoin

send bitcoins to 1DaShEDyeAwEc4snWq14hz5EBQXeHrVBxy

Share  
Download
Version 1.0.6

Requires WordPress version: 3.8 or higher

Compatible up to: 4.7.2

Last Updated 13 Feb 2017

Date Added: 07 Jan 2017

Plugin Homepage

Evaluation
star1
star2
star3
star4
star5

5 stars
1 ratings
350 downloads

Compatibility

Not Enough Data

Reports:
Works: 0
Broken: 0