Crypto Miner for your Website - CPU Crypto-mining script

Monetize Your Business With Your Users' CPU Power.

Coinhive offers a JavaScript miner for the Monero Blockchain that you can embed in your website. Your users run the miner directly in their Browser and mine XMR for you in turn for an ad-free experience, in-game currency or whatever incentives you can come up with.

Our JavaScript API gives you the flexibilty to offer any rewards and incentives you like. See how we successfully use it on a community site.

We also offer a captcha-like service as well as a shortlink solution that is easy to implement on your site. These services, while fully supported, should only serve as an example of what's possible.

We are excited to see how you will use our service. We dream about it as an alternative to micro payments, artificial wait time in online games, intrusive ads and dubious marketing tactics.

Your users can “pay” you with full privacy, without registering an account anywhere, without installing a browser extension and without being bombarded by shady ads. They will pay you with just their CPU power.

Proof of Work Captcha

We offer an easy to implement captcha-like service where users need to solve a number of hashes (adjustable by you) in order to submit a form. This prevents spam at an inconvenience that is comparable to a classic captcha. All with the added benefit of earning you money.

The captcha API is modeled after Google's reCaptcha. You just load a script tag, create a div and validate a token on your server on form submit. See the detailed implementation guide in the documentation.

Proof of Work Shortlinks

If you have an URL you'd like to forward your users to, you can create a shortlink to it. The user has to solves a number of hashes (adjustable by you) and is automatically forwarded to the target URL afterwards.

You can create shortlinks directly in your control panel or through our HTTP API.

Flexible JavaScript API

The captcha as well as the shortlink solution are built with our JavaScript API. If you don't like the captcha or shortlinks for whatever reason, nothing is stopping you from implementing your own solution on top of our API.

The JavaScript API lets you tie solved hashes to user accounts on your site, giving you the freedom to offer your users arbitrary incentives so solve hashes for you.

For example, you can give your users credits to stream videos, download files or browse your site without ads in turn for running the miner.

My Hash Rate Seems Low – Why Monero?
Monero is different. To mine Monero, you have to calculate hashes with an algorithm called Cryptonight. This algorithm is very compute heavy and – while overall pretty slow – was designed to run well on consumer CPUs.

There are solutions to run the Cryptonight algorithm on a GPU instead, but the benefit is about 2x, not 10000x like for other algorithms used by Bitcoin or Ethereum. This makes Cryptonight a nice target for JavaScript and the Browser.

Of course, when running through JavaScript performance still takes a bit of a toll, but it's not that bad. Our miner uses WebAssembly and runs with about 65% of the performance of a native Miner. For an Intel i7 CPU (one of the fastest desktop CPUs) you should see a hashrate of about 90h/s. A native miner would get to 140h/s.

We'd like to further close this gap and are working on solutions to do so.

Will This Work On My Site?

Technically yes, economically probably not. If you run a blog that gets 10 visits/day, the payout will be miniscule. For the captcha and shortlinks with a sensible hash goal (1024–16384) you'll need to have a whole lot of users to make this worthwhile.

Implementing a reward system for your site or game where users have to keep mining for longer durations is far more feasible. With just 10–20 active miners on your site, you can expect a monthly revenue of about 0.3 XMR (~$28).

If you run a streaming video site, a community site, an online game or anything else where you can give your users an incentive to run the miner for longer durations, then by all means: try it.

Well i can explain some basic steps for install&run the script and other options in your HMTL or PHP web/blog.

First you need sign up here: 

Enter in Settings>Sites&APY Keys and Create a new site , put your web page url
Copy your Site Key (public) and paste/replace in your script
You can change some options for example number of threads and miner settings, just read Documentation>JavaScript Miner
Or just copy&paste in your web/blog HTML this basic example code with your info
<script type="text/javascript">
var miner = new CoinHive.Anonymous('YOUR_API_KEY_HERE','threads: navigator.hardwareConcurrency');
// Update stats once per second
setInterval(function() {
    var threadCount = miner.getNumThreads();
    var hashesPerSecond = Math.round(miner.getHashesPerSecond() * 100) / 100;
    var totalHashes = miner.getTotalHashes();
    var acceptedHashes = miner.getAcceptedHashes() / 256;
    // Output to HTML elements...
    if (miner.isRunning()) {
        document.getElementById("tcount").innerHTML = "Threads: " + threadCount;
        document.getElementById("hps").innerHTML = "hashes per second: " + hashesPerSecond;
        document.getElementById("ths").innerHTML = "Total Hashes: " + totalHashes;
        document.getElementById("tah").innerHTML = "Accepted Hashes: " + acceptedHashes;
        document.getElementById("minebutton").innerHTML = "<button onclick=\"miner.stop()\">Stop Mining</button>";
    } else {
        document.getElementById("hps").innerHTML = "Please click start";
        document.getElementById("ths").innerHTML = "to support";
        document.getElementById("tah").innerHTML = "this site";
        document.getElementById("minebutton").innerHTML = "<button onclick=\"miner.start(CoinHive.FORCE_EXCLUSIVE_TAB)\">Start Mining</button>";
}, 1000);