nyuuzyou/wikis huggingface dataset:
MoneypakTrader.com

MoneypakTrader.com opened shop in April 2013"WE NOW GO BOTH WAYS : MP <--> BTC : usually under 2 days, anonymous too!" with the goal of allowing bitcoin trading for people who don't want to provide government identifications or other personal info or jump through the various hoops presented at more mainstream exchanges for buying and selling bitcoins.
As the name implies, they exchange mostly "Green Dot MoneyPak" gift card codes with bitcoins, which can be purchased virtually anywhere in the US with USD Cash (7-11, CVS, Walgreens, numerous other locations) and using debit cards (Walmarts and Rite-Aids)Store Locator.
They are currently the only known site to accept Green Dot Moneypak stored value cards in exchange for bitcoinsMoneyPak, but require the user to have personally purchased the card at the retail location.MoneypakTrader.com Terms of Service
ReLoadits are also traded on a limited basis. Site operator is occasionally available to discuss trades and related issues via torchat: km6zzhrcgncpq7i2
Promotions are advertised via reddithttp://www.reddit.com/r/MoneypakTrader/comments/1flhy2/moneypaktradercom_allows_exchanging_bitcoins_for/ Reddit MoneypakTrader subforum post about promotions and bitcointalkhttps://bitcointalk.org/index.php?topic=133439.0;all BitcoinTalk MoneypakTrader.com review thread.
==External links==
* MoneypakTrader.com website.
==References==
Category:Defunct exchanges
Monit

Running an monitoring bitcoind with monit
I recommend adding a user account for bitcoin:
 adduser --disabled-login bitcoin
Place the home directory (or at least the .bitcoin/wallet.dat) on an encrypted volume (e.g. cryptsetup).
It is also recommended to have a separate wallet for every day use containing only a small amount of coins.
Optional: move your existing .bitcoin directory to the new user and change ownership
 sudo mv .bitcoin ~bitcoin;
 sudo chown -R bitcoin.bitcoin ~bitcoin/.bitcoin
Configure bitcoind in ~bitcoin/bitcoin.conf, you also need to set at least rpcuser and rpcpassword:
 pid=/home/bitcoin/.bitcoin/pid
Create a wrapper for bitcoind in ~bitcoin/bin/bitcoind
 export HOME="/home/bitcoin"
 exec /path/to/the/real/bitcoind "$@"
Optional: You may want to run bitcoind with a lower priority than your interactive applications:
 export HOME="/home/bitcoin"
 exec /usr/bin/nice /usr/bin/ionice -c 3 /path/to/the/real/bitcoind "$@"
Add the following lines to your monitrc (/etc/monitrc or /etc/monit/monitrc) and reload monit:
 check process bitcoind with pidfile /home/bitcoin/.bitcoin/pid
 start program = "/home/bitcoin/bin/bitcoind -daemon" as uid bitcoin and gid bitcoin
 stop program = "/home/bitcoin/bin/bitcoind stop" as uid bitcoin and gid bitcoin
 #if totalmem > 100 MB then restart
If your bitcoind is leaking memory you may want to enable the totalmem check (adjust amount for your needs).
Mr Bitcoins

Formerly an exchange site serving those buying bitcoins with Australian dollars (AUD).
==History==
The service was launched May 28, 2012Mr Bitcoins - Buy Bitcoin Fast, Safe and Anonymously - Same Day Delivery. When the site launched it also supported USD and INR, however neither of those methods is still available. The company operated by the same company that operated CryptoXChange.
==See Also==
* Buying bitcoins
* Selling bitcoins
==References==
MtGox/API

The MtGox API provides methods to access information from the market, place orders, and more.
Two APIs are currently available: 
* HTTP API 
* Streaming Pubnub API
* Streaming websocket API
__TOC__
==Number Formats==
In the "old API", currency- and amount-values (price, volume,...) were given as float. These values are likely being deprecated and replaced by fields of the same name with "_int" as suffix. These are fixed-decimal, so you have to move the decimal point yourself (divide). The exponent differs based on the kind of the value.
In order to convert the int to a decimal you can...
kind of field 	...divide by 	...multiply by
BTC (volume, amount) 	1E8 (100,000,000)	0.00000001
USD, AUD, CAD, CHF, CNY, DKK, EUR, GBP, HKD, NZD, PLN, RUB, SGD, THB, NOK, CZK (price)	1E5 (100,000) 	0.00001
JPY, SEK (price) 	1E3 (1,000) 	0.001
Implementation advice: it's probably best to use int or Decimal (if your language/db offers such a type) in your clients. Using float will likely lead to nasty rounding problems.
== Currency Symbols ==
List of the currency symbols available with the API:
USD, AUD, CAD, CHF, CNY, DKK, EUR, GBP, HKD, JPY, NZD, PLN, RUB, SEK, SGD, THB, NOK, CZK
==Date and time==
Most dates you will find in mtgox API are UNIX time
See http://en.wikipedia.org/wiki/Unix_time
Most programming languages should have tools for managing those timestamps
==See Also==
* MtGox API version 2: Unofficial Documentation
MtGox/API/Frameworks

This section of the wiki is heavily under construction so antipate that some functions and frameworks may not have complete documented examples!
== Foreword ==
A list of some of the larger more commonly used FrameWorks used with the MtGox API
== Definition of Terms ==
* Safety caching - This process means the framework will actively cache 'save' information from queries so to reduce the amount of 'outbound' http calls required to mtgox, this is highly recommended as some features such as 'fullDepth' and 'Trades' are limted on MtGox its self.
* Protocol: V0/V1 - Support for the MtGox HTTP protocol version 0 or version 1.
* Protocol: WebSocket - Support for the streaming websocket protocol.
* Adaptive caching - Allow the frameworks cache for trades and depth to be updated adaptively via the WebSocket stream.
* Non-Blocking - The framework uses a non blocking method of communication with the MtGox API, that is its possible to execute many simultaneous tasks in parallel. This is beneficial to large applications that may have to manage multiple trades very quickly.
* Object Orientated - The framework uses an object based programming style.
* Blocking - The framework uses a blocking style of communication with the MtGox API, this menas that for instance when you place an order you have to wait for the information to come back to you before you can proceed. This is often easier to use for small bots and tickers.
* Maintained - If the framework is knowingly maintained.
* COMPAT_Linux - The framework is compatible with: linux.
* COMPAT_WIN32 - The framework is compatible with: windows (32bit).
* COMPAT_WIN32 - The framework is compatible with: windows (64bit).
* COMPAT_BSD - The framework is compatible with: BSD.
* Language - The language the framework is based in and the minimum version required. (Example: Python32, Perl 5.10)
== Frameworks ==
=== POE::Component::MtGox::Client ===
A perl based framework developed by Paul G Webster 'daemon' utilizing the non-blocking functions of POE, no large applications we know about yet use this, however it does implement some impressive features:
* Protocol: V1
* Protocol: WebSocket
* Safety caching 
* Adaptive caching
* Non-Blocking
* Object Orientated
* Maintained
* COMPAT_Linux
* COMPAT_BSD
* Language: Perl 5.10+
=== POE::Component::MtGox::Server::SafetyNet ===
A pure adaptive cache for MtGox; that will automatically keep track of all the Trade Histories and Depth queries and serve them its self instead of querying MtGox, so if your client is a bit spam happy and keeps getting dropped by MtGox for spam protection; you can run your own safety net server to get around it. You may also want to run a SafetyNet server if you want to run PoCo-Client-MtGox on windows.
=== Finance::MtGox ===
The original perl based framework for MtGox, unrated.
=== Add more ===
MtGox/API/HTTP/JavaExample

package com.mtgox.api;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Client {
 protected String key;
 protected String secret;
 
 /**
* @param args the command line arguments
*/
 public static void main(String[] args) {
 Client client = new Client(
 "your key here",
 "your secret here"
 );
 HashMap<String, String> query_args = new HashMap<>();
 query_args.put("currency", "BTC");
 query_args.put("amount", "5.0");
 query_args.put("return_success", "https://mtgox.com/success");
 query_args.put("return_failure", "https://mtgox.com/failure");
 
 client.query("1/generic/private/merchant/order/create", query_args);
 }
 
 public Client(String key, String secret) {
 this.key = key;
 this.secret = secret;
 }
 
 public String query(String path, HashMap<String, String> args) {
 try {
 // add nonce and build arg list
 args.put("nonce", String.valueOf(System.currentTimeMillis()));
 String post_data = this.buildQueryString(args);
 
 // args signature
 Mac mac = Mac.getInstance("HmacSHA512");
 SecretKeySpec secret_spec = new SecretKeySpec((new BASE64Decoder()).decodeBuffer(this.secret), "HmacSHA512");
 mac.init(secret_spec);
 String signature = (new BASE64Encoder()).encode(mac.doFinal(post_data.getBytes()));
 
 // build URL
 URL queryUrl = new URL("https://mtgox.com/api/" + path);
 
 // create connection
 HttpURLConnection connection = (HttpURLConnection)queryUrl.openConnection();
 connection.setDoOutput(true);
 // set signature
 connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; Java Test client)");
 connection.setRequestProperty("Rest-Key", this.key);
 connection.setRequestProperty("Rest-Sign", signature.replaceAll("\n", ""));
 // write post
 connection.getOutputStream().write(post_data.getBytes());
 
 // read info
 byte buffer[] = new byte[16384];
 int len = connection.getInputStream().read(buffer, 0, 16384);
 System.out.print(new String(buffer, 0, len, "UTF-8"));
 } catch (Exception ex) {
 Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
 }
 return "foo";
 }
 
 protected String buildQueryString(HashMap<String, String> args) {
 String result = new String();
 for (String hashkey : args.keySet()) {
 if (result.length() > 0) result += '&';
 try {
 result += URLEncoder.encode(hashkey, "UTF-8") + "="
 + URLEncoder.encode(args.get(hashkey), "UTF-8");
 } catch (Exception ex) {
 Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 return result;
 }
}
MtGox/API/HTTP/v2

== API Version 2: == 
The V2 API URL is:
https://data.mtgox.com/api/2/
=== Documentation ===
Unofficial documentation (So far the best we have) is provided at : https://bitbucket.org/nitrous/mtgox-api/overview (The bitcointalk forum link is: https://bitcointalk.org/index.php?topic=164404.0 )
Official docs are on: https://github.com/MtGox/mtgox-doc
===== Differences between v1 and v2: ===== 
* The URL is now something along the lines of BTCUSD/money/order/add instead of BTCUSD/private/order/add in api1. All current known methods are found in the money category.
* The requested path must now be included when you compute your hashed signature (Rest-Sign) for added security. In version 1, Rest-Sign is created through base64-encoding the 256-digest HMAC hashing of your post data (which of course must include your nonce) with your API secret, previously base64 decoded. Now in version 2, you must simply add before your post data the relative path you are requesting (anything after the /api/2/ base, ie: BTCUSD/money/ticker), concatenated with a NUL character (ASCII code 0). So the signature is now made starting from your relative path + NUL character + post data (which must include your nonce!).
* fast ticker
 http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast
and
 
 http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast?pretty
=== Explanation of Methods ===
BTCUSD/money/order/quote 
<@MagicalTux> it estimate the result of running an order at a given price based on market depth
BTCUSD/money/ticker_fast
Solves the problem of ticker lag. (supposedly)
=== Code Examples: ===
====Java:====
https://github.com/adv0r/mtgox-api-v2-java Java lib for API V2, under development
====C# :====
https://bitbucket.org/pipe2grep/cryptocoinxchange C# lib for V2 API and socketIO
====Python v 2.7.3====
https://bitbucket.org/karlb/gox2 - A minimalistic API wrapper 
http://pastebin.com/aXQfULyq - Remove any proprietary unlock_api_key stuff. You'll need json_ascii also. Works on API 0/1/2. Link to git-repo: genbtc's trader.python 
====Perl====
https://en.bitcoin.it/wiki/MtGox/API/HTTP#PHP The Perl example on the main page is compatible with v2
====PHP====
https://github.com/pathaksa/MtGox-PHP-API-V2
MtGox/API/Pubnub

== Introduction ==
MtGox is now using the services of PubNub to stream real-time data due to the difficulty to cope with the kind of volumes of data we need to broadcast real-time while keeping a reliable service.
PubNub provides SDKs in various languages: https://www.pubnub.com/developers
If you already use Socket.IO, you may want to check https://github.com/pubnub/javascript/tree/master/socket.io
=== Access to public channels ===
It is possible to subscribe directly to any public channel listed on https://mtgox.com/api/2/stream/list_public?pretty through that interface.
Subscribe key for MtGox: sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe (it's the same for everyone who want to use MtGox)
Some sample feeds on the PubNub console:
* https://www.pubnub.com/console?sub=sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe&pub=demo&channel=d5f06780-30a8-4a48-a2f8-7ed181b4a13f&origin=pubsub.pubnub.com&ssl=true <- to access BTCUSD ticker
* https://www.pubnub.com/console?sub=sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe&pub=demo&channel=dbf1dee9-4f2e-4a08-8cb7-748919a71b21&origin=pubsub.pubnub.com&ssl=true <- BTC trades
A very simple sample implementation: https://www.mtgox.com/lag.html (shows trade engine lag in realtime)
=== Access to private channels ===
Private channels can be accessed by first calling the https://www.mtgox.com/api/2/stream/private_get api. This API will return details to access the private API (subscribe key, auth key, encryption key, etc).
Private messages are encrypted using PubNub's standard encryption method (AES128 CBC w/ 14 cycles of repetition for 256-bit keys) and a shared secret obtained through the API. This guarantees that PubNub has no knowledge of the private key and as such can't possibly read the private messages unless you access the console (as it's passed as parameter). As long as you don't call the stream/private_get api, no data for your user will be sent to PubNub.
Once the number of seconds specified in "renew" has passed, you should call the API again to renew the auth key and password. If the auth key has changed, you will need to subscribe again to continue getting updates.
Once the number of seconds specified in "expires" has passed, no data will be sent anymore unless the API was called again.
If you call that API once every renew, the access data should not change, and you should continue getting updates as long as you're connected. Note that you can pass an extra parameter to this API (renew=1) to force the private key and auth key to change. Change in private key will be handled for all new messages (the old auth key will continue working until its expiration).
MtGox Matrix

MtGox Matrix was a service that provides views of the order book grouped by configurable increments to more easily determine open order sizes. Additionally the latest trades on the market are displayed.
The configurable bin sizes are: $0.01, $0.005, $0.0025 USD and even tinier increment bin sizes.
The site appears to have gone offline, as of May 18, 2011.
==External Links==
* MtGox Matrix
MuPool

MuPool.com is a MultiCoin Pool.
One goal of MuPool.com is to create a stable Pool with low fees in the long run.
==Queuing Cloud==
MuPool.com has a goal to reach a high uptime to provide all registered users with the best Mining Experience on the net!
To reach this goal, we have been concerned with possible Hardware/Software failures that can happen without warning.
That is why we invented this modular queuing system. This allows us to queue any completed work into a queuing cloud in case of failure (i.e. - networking problems, burning server, moved database, and etc.) with our main database. The completed work is queued in the cloud and then synchronized as soon as the main database goes back online. 
But that is not enough: 
We do not even trust in our own cloud. That is why each mining server holds its own queue of work locally in the event the cloud goes offline. When the cloud goes back online, the locally queued work is synchronized with the main database. This should greatly increase the uptime of our mining system.
==Multi-Coin System==
On MuPool.com you are able to use one Account to mine every supported Coin, you just have to switch the mining Server.
You can always find our Supported Coins and current conditions here:
https://mupool.com/conditions.png
==Features==
* Low FEES (0% for BTC)
* PPLNS
* We pay all block reward (including transaction fees)
* Simple and easy registration
* One Interface for Everything
* Idle and Stale Worker Notifications
* Automatic and Instant Payout
* Port 80 Stratum Server
* 24/7 Support via email, on IRC or on our forum
==External Links==
* Mupool.com website
* MuPool.com Forum
Multi-party computation

Multi-party computation (MPC) is a cryptographic technique that allows multiple parties to make calculations using their combined data, without revealing their own individual inputs.
In the context of Bitcoin, MPC can be used to replace individual private keys for signing transactions and generating deposit addresses. MPC distributes the signing process between multiple nodes. Each node possesses a piece of sensitive data representing a share of the private key, and together they cooperate to sign transactions without needing to recreate the private key.
https://www.qredo.com/blog/what-is-multi-party-computation-mpc
MultiBit

MultiBit was a lightweight "thin client" Bitcoin wallet for Windows, MacOS and Linux based on bitcoinj. It was superseded by MultiBit HD, and the development of both stopped in 2017The long-running bitcoin wallet Multibit is being discontinued, the firm that bought it last year has announced after the acquisition by KeepKey, which was then bought by Shapeshift.
Its main advantages over the original Bitcoin client included support for opening multiple wallets simultaneously, and not requiring the download of the entire multi-gigabyte block chain (22.5GB as of October 2014Bitcoin Blockchain Size). The project was lead by UK developer Jim Burton.European Bitcoin Conference 2012 - Jim Burton - Multibit
==Features==
* Multiple wallets can be open at the same time
* Synchronizes with the network in minutes
* Shows the last BTC <--> USD rate from VirtEx and other exchanges
* Import and export your private keys
* Chart of your balance over the last 30 days
* Free and open source (MIT license)
* Localized in a variety of languages
==History==
MultiBit was announced on September 12, 2011.MultiBit Later, Multibit HD was developed, and the original MultiBit was renamed Multibit Classic. On July 26, 2017, development was stopped without advance notice, due to the amount of work needed to fix bugs and keep up with Bitcoin developments.
==See Also==
* Thin Client Security
==External Links==
* Abandoned GitHub repo
* Google Group abandoned since 2015
==References==
Category:Clients
Category:Open Source
Multipool

Multipool is a multi-coin profit-switching mining pool that mines Bitcoins and several alternate cryptocurrencies (Altcoins).
Multipool was the first pool to offer a port that switches automatically based on coin profitability (the "Multiport") At first, the pool offered Scrypt coins only, but as it grew in popularity, added a SHA-256 Multiport which currently mines 5 different coins (Bitcoin, Terracoin, Freicoin, PeerCoin, Zetacoin).
Miners are not limited to using the profit-switching port. Miners can connect to any of the individual pools to mine a single coin directly.
Rewards are currently distributed using a proportional system, due to the pool's hopping nature.
Full list of features:
* Fast and responsible support
* Full per-user and per-worker statistics
* SSL encrypted user interface
* API in JSON format
* Email payout notifications
* List of frequently asked questions
* Stratum
* User-selectable share difficulty
* Android Application
* Transparent, detailed block payout stats
==External Links==
* Web site
* Support forum
==References==
Category:Pool Operators
My.bit.safe

Formerly an escrow-like service that allows safer payment by securely holding a buyer's coins in escrow until the coins are released by the buyer.
If the coins are not released, they are donated to the Bitcoin Faucet after thirty days have passed. MyBitSafe provides no other dispute resolution services.
==History==
The site was launched on July 10th, 2011New Escrow Service - mybitsafe.com. The service is defunct, as-of at least March 18th, 2012.
==See Also==
* Secure Trading
==References==
MyBitcoin

MyBitcoin was one of the earliest eWallet providers for Bitcoin. It shut down near the end of July 2011. It was available at the URL http://www.mybitcoin.com, as well as via Tor but it has since been replaced with a statement explaining its shutdown.
==Shutdown==
The site became inaccessible starting July 29, 2011mybitcoin down or just me?.
The site has become accessible starting August 4th, 2011 but only to state that their shopping cart interface has been compromised and so they are having to go in to receivership. Soon afterwards, MyBitcoin issued a statement that it had been compromised and that 51% of its total bitcoin holdings had been stolen. It began a process to return the remaining 49% of each customer's balance.
==Criticism==
This service showed the name MyBitcoin LLC and a mailing address in Nevis. It is not known if this truly is an LLC and if so, where the organization was located. There has been no member of the Bitcoin community who has claimed any affiliation with MyBitcoin.
There has never been a way to verify the claim that all bitcoins from account balances are available. The Terms of Service do state:
:: 6. OBLIGATIONS OF MYBITCOIN LLC6.1 MYBITCOIN LLC will ensure that for all Bitcoins in circulation in the MyBitcoin System there is at all times an identical quantity of unencumbered Bitcoins held in MYBITCOIN LLC's master Bitcoin wallet.
==See Also==
* eWallet
==References==
Mystery shopper payments

Mystery shopper payments are a class of privacy attack. A mystery shopper payment is when an adversary pays bitcoin to a target in order to obtain privacy-relevant information.
For example, if the target is an online merchant then the adversary could buy a small item from the store. On the payment interface they would be shown one of the merchant's bitcoin addresses. The adversary now knows that this address belongs to the merchant and by watching the blockchain for later transactions other information would be revealed, which when combined with other techniques could reveal a lot of data about the merchant such as income, turnover, etc. This works because anybody on the entire internet can request one of the merchant's addresses.
Mystery shopper payments are usually used as a starting point and then combined with other privacy attack techniques such as the common-input-ownership heuristic and change address detection. They work even if address reuse is avoided.
Mystery shopper payments can be resisted by awareness of what information is leaked. Care must be taken when spending incoming funds.
=== Bad privacy example - Receiving donations spied on with mystery shopper payments ===
# You want to accept bitcoin donations but don't want to reveal the total donated amount.
# You set up a web server to give out unique addresses for each visitor.
# An adversary who wants to get an idea of your total donation income donates a small amount of bitcoin to you.
# You combine all donations to use as inputs in one transaction, thereby linking them all together with the common-input-ownership heuristic.
# The adversary now has a good idea of your total donation income.
Be mindful of what is being revealed with the common-input-ownership heuristic.
== See also ==
* Privacy
* Receiving donations with bitcoin
Category:Privacy